That’s something you can’t do without

A great book introducing the concepts of programming languages, including such things call-by-value/call-by-reference/call-by-name/call-by-need, type checking, type interface and modularization, all by means of interpreters for the various languages which are implemented in Scheme. The book covers various translations on the interpreters to make them more efficient, techniques like registerization (converting a series of tail recursion functions into a set of blocks connected via gotos with the arguments passed in global variables), CPS transformations and the use of trampoline techniques to move computation off the control stack into the heap. This latter technique was recently covered on the B# blog and is used in Clojure to prevent stack overflow.
I also think that you don’t understand a language until you implement it, and the idea of using Scheme interpretersto do the implementation is a powerful idea. Plenty of really good exercises too.
This entry was posted in Books. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s