CS 59

Hands-on Programming Languages

in-class-scratch.el – in class Lisp introduction log

lisp-tree-recusion-log.txt – recursive function class log

obarray-simple-examples-log.txt – global symbol table in eLisp

obarray-inclass-examples.el – obarray in-class examples, lambda and let examples. eLisp bytecode disassembly.

everything-is-a-fold.el – everything is a fold if you have the right lambda

elisp-vm-examples.el – eLisp bytecode examples from class, with comments and links

curry.el more-currying.el – currying functions

make-closure.el – looking and making closure bytecode

lambda-calculus-booleans.txt – Lambda calculus, booleans

more-lambda-calculus-booleans.el – more combinator examples

lambda-calculus-pair.el – The Pair combinator: storing and accessing multiple things

S-combinator.el – The S combinator, SKI calculus (and birds)

Y-combinator.el – The famous Y combinator

My older notes on Y: https://www.cs.dartmouth.edu/~sergey/cs59/lisp/y-explained.txt)

named-let-and-folds.el – Tail call optimized (TCO) named-let in eLisp!

seq-tc.el – more TCO via named-let in eLisp