Railroad-simulation language, absolutely! One of the key reasons that 
Racket is on the top of the list. But what I didn't think of was to have 
the reader use the DSL first. I was initially planning to develop the DSL 
as a later part of the book - doing it the hard way perhaps.

That has always been the one thing I wasn't crazy about with htdp, starting 
with the Beginning Student language, but that's just me personally. I 
understand the reasons for the approach. I look at it as, "I don't want 
training wheels - let me take the real thing for a ride!", and deal with 
the consequences later - an I-wanna-know-what's-under-the-hood-right-now 
type of guy. For that reason, I never considered something like that for my 
book, but the more I think of it now, it kind of makes a lot of sense for 
my audience? I've always looked at it from an experienced programmer's 
point of view - which doesn't necessarily fit best here.

Thanks Matthias for giving me this suggestion to think about. I might have 
a lot more work to do to get started using that approach, but in the long 
run, as you say, it might get them more interested in the programming part. 
Much appreciated food for thought.



On Sunday, April 1, 2018 at 8:23:32 PM UTC-4, Matthias Felleisen wrote:
>
>
> On Apr 1, 2018, at 12:57 PM, Stephen Smith <stephen1...@gmail.com 
> <javascript:>> wrote:
>
> my (book) project is for model railroad hobbyists (many if not most who 
> have never programmed before).
>
>
>
> Have you considered the development of a railroad-simulation language 
> within Racket that fits your domain? If you can provide people with a 
> language that fits their problem area, they might be more interested in 
> learning more about programming per se. Since embedded DSLs usually have a 
> natural backdoor, this might be an approach that works well. 
>
> In my current “hack your own language” course, some kids have gone a step 
> further. They are interested in music theory. So they implemented a 
> language for specifying languages in which students can then create 
> compositions of choral music and the composition is statically checked 
> before they even turn it in. The teacher can create a language per weekly 
> homework and teh students get to see the progression. At the same time, 
> there are several ways to dive into Racket from each level. 
>
> — Matthias
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to