IRILL - Research and Innovation on Free Software

GNU Epsilon Tutorial


"GNU Epsilon Tutorial"
by Luca Saiu,
Download Webm format
Download MP4 format

A recipe for building a powerful programming language is to start from a core language which is as small as possible, add macros and code-to-code transformations, and let programs be reflective and self-modifying. 4,000 lines of code later you get a quite impressive thing. My ε1 "personality" built on top of the core has a Lispy feel, but you can use it to build another one, possibly very different. In this intensive practical tutorial you'll learn ε1 from scratch, including cool things like unexec and native compilation; in the mean time you'll get a hint of how each language form is defined on top of another, yielding a powerful system built on a foundation of almost nothing. I vote for simplicity. In the joyless world of "modern" programming where each language equals all the others, untyped low-level programming will make you smile again.