A bit of meta-programming with scheme

A bit of meta-programming with scheme, or: write yourself a LISP (and probably some other languages too), for prosperity and happiness.

As a continuation (!) of scheme workshop for prosperity happiness, this time we could see some variants of The Maxwell Equations Of Computer Science, i.e. LISP [meta-circular] interpreter.
Implementing a toy programming language is what every programmer should do at least once in her/his life. And it can be quite handy too — embedding small script language in some c/Java/PHP project sometimes can reduce compile-deploy-test cycles; besides, just check out https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule (yeah, common lisp… but you know, scheme was not that popular outside academia in the early 90s ;)).

As a side effect (!) you should also gain/strengthen your insights about referential transparency, dynamic vs static scoping, side effects, closures… [mostly functional] programming in general.

If you’re interested of course!

Cheers,
d.

ps notes from first workshop, introducing to scheme: https://github.com/drcz/scheme-workshop-for-prosperity-and-happiness/blob/master/scheme-1.scm