[racket] standard solution for non-terminating handin tests?

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sat Feb 11 17:24:01 EST 2012

On Feb 11, 2012, at 3:18 PM, John Clements wrote:

> 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.

You can have your cake and eat it. Even when you ask them to write machines, they need to write functions that rely on structural recursion (HtDP way too late): 
 -- substitution 
 -- free variable lookup (close only over free vars) 
 -- static distance ('compile' variables to numeric lookups) 
 -- env lookup 
and probably a whole bunch more -- Matthias

Posted on the users mailing list.