Question

I've just started learning a dialect of lisp (Racket) and I'd like to know if some one has a link or can point me to the theoretical foundations of the family of lisp languages, by resources I mean papers, articles or books anything that you could think of.

Preferably indicating which mathematical concepts it uses how it constructs it operators, how it resolves them,unifies identities etcetera. I'v read the SEXP in wikipedia but I find it a bit shallow.

I'm interested in the foundations because I like to be able to explain how things work to others .

Thanks in advance.

Was it helpful?

Solution

You could start at the beginning: http://www-formal.stanford.edu/jmc/recursive.html

OTHER TIPS

I would also add Landin's "The Next 700 Programming Languages" to this list; where McCarthy reveals the notion of programs interpreting other programs, Landin shows how the same theoretical framework can be seen to underly nearly all programming languages.

In fact, I think it's not unreasonable to suggest that the theory of LISP-like languages is simply... the theory of programming languages.

Paul Graham has some nice mini-articles on the history of Lisp: http://www.paulgraham.com/lisp.html

Don't miss the original lambda papers by Guy Steele and Gerald Sussman.

  • "Lambda: The Ultimate Imperative"
  • "Lambda: The Ultimate Declarative"
  • "Lambda: The Ultimate GOTO"
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top