On Feb 11, 2012, at 10:43 AM, Matthias Felleisen wrote: > > > On Feb 11, 2012, at 1:35 PM, John Clements wrote: > >> Slightly more seriously, if you're suggesting using the design recipe to >> help avoid non-termination, it doesn't help the students much when they're >> implementing an interpreter for a turing-complete language in a PL class. > > > We should teach abstract machines not interpreters. Non-termination is > trivial then because you can ask them to equip the machine with fuel. And > it's easier to see the compiler and its target machine. -- Matthias >
I see value in interpreters in that they learn how to use structural recursion (as we discussed, this is called "much-too-late-remedial-HtDP"). However, It might be worth throwing away the second half of the course (store-passing-style, continuation-passing-style, a bit of the store monad & macros & type systems) and doing abstract machines instead. I dunno. John
smime.p7s
Description: S/MIME cryptographic signature
____________________ Racket Users list: http://lists.racket-lang.org/users

