Yet Another Scheme Tutorial

The goal of this tutorial is to provide enough knowledge and ability on Scheme programming language to read SICP, which is one of the best text book on computer science. The book uses Scheme to explain subjects.…

LISP is a lousy language

"LISP is a lousy language for doing any particular problem. What it is good for is figuring out the right language that you want and embedding that in LISP." (H. Abelson)…

Pairs

let cons = (a, b) => (pick) => pick == 1 ? a : pick == 2 ? b : "error"; let car = (x) => x(1); let cdr = (x) => x(2); What if we could build pairs out of nothing at all?…

Means of abstraction

"When somebody tells you 'I have a new programming language', you should not ask: 'How many characters does it take to invert a matrix?'; that is irrelevant, what you should say is: 'if the language does not come with matrices built-in, how can I build them and what are…