[racket] standard solution for non-terminating handin tests?
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