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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to