Cognition and Linguistics
I see the study and development of computer languages as two sides of the same coin. A computer language should enable the programmer to express, clearly and concisely, an algorithmic intent. It should not burden the programmer with a particular…
Nanopass Compiler
Through a friend, I got hold of a provocative paper A Nanopass Framework for Compiler Education, by Sarkar, Waddell, and Dybvig. They describe a compiler written in scheme that makes 50ish passes. Each pass is described as a language transform,…
Lessons learned while teaching.
I may have only done three classes, but already I’ve rediscovered that there is one principal to working efficiently: automate and systematize whatever you can. Practicing this mantra allows a course to run much smoother, reducing headaches and prepratory time. I’ve compiled…