Skip to content

Latest commit

 

History

History
18 lines (12 loc) · 660 Bytes

README.md

File metadata and controls

18 lines (12 loc) · 660 Bytes

Essentials of Programming Languages (in Scala)

The motivation for this repo is the systematic study of compilers and language development by working on the exercises of the book Essentials of Programming Languages written by Daniel P. Friedman and Mitchell Wand.

I wanted to stop treating compilers as a black box and so I worked on this book for a couple of months (the fact that it was required by my University also helped).

Each branch implements a language that may or may not build on top of a previously presented language.

The evolution is basically:

  • LET
  • PROC
  • LETREC
  • EXPLICIT-REFS
  • IMPLICIT-REFS
  • MUTABLE-PAIRS
  • CONTINUATION-PASSING