Absolutely ditto. 

In order to understand Kernel and $vau, I tried reconstructing it using my 
favourite prototyping language (Lua). Far from complete, but enough to define 
'define', 'if' etc.; for me pretty amazing that it works at all.  Of course 
it's easier, since Lua already supports higher order functions, fast hash 
tables, garbage collection etc... but definitely worthwhile from a learning 
point of view, since the code can be short and concentrate mostly on the 
important stuff.

For the curious:
https://github.com/grrrwaaa/catsinboxes/blob/master/fexpr_vau.lua

I think it might only be another weekend's work to add the missing parts and 
write a parser for a full Kernel-on-Lua(JIT). 

Graham

On Apr 11, 2012, at 4:57 PM, Michael Fogus wrote:

>> Then pick your favourite superfast-prototyping programming language and
>> build McCarthy's evaluator in it.  (This step is not optional if you want to
>> understand properly.)  Then throw some expressions containing
>> higher-order functions and free variables at it, figure out why it behaves
>> oddly, and fix it without adding any conceptual complexity.
> 
> I couldn't agree with this approach more. In my own attempt at this
> activity (http://fogus.me/fun/lithp/) I learned more about the
> McCarthy model, its history, and limitations than any paper I'd read
> before or since.
> _______________________________________________
> fonc mailing list
> fonc@vpri.org
> http://vpri.org/mailman/listinfo/fonc

_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Reply via email to