An Introduction to LISP
“Lisp isn’t a language, it’s a building material.” - Alan Kay
There is a programming languages renaissance of sorts happening. This current flurry of activity has inspired some folks to revisit old ideas. One such idea is Lisp. Concieved by John McCarthy in 1957 to explore artificial intelligence, Lisp has survived in various incarnations while other languages have long since disappeared.
One of the main reasons Lisp has survived 50+ years is that the notion of evolution is fundamental to the design of language. Lisp is homoiconic - code is data and data is code, allowing Lisp to be used for metaprogramming. Thus Lisp can “grow” while other language die off as new paradigms and approaches displace old ones.
In this workshop we’ll take a whirlwind tour of the history - Lisp’s rise in the AI community and its long dormancy after AI winter. We’ll get our hands dirty with a popular modern dialect Clojure, but expect a taste of Common Lisp and Racket (a Scheme dialect) as well.
Expect to be rigorously challenged - this class is intended for the advanced programmer or the overly enthusiastic intermediate programmer.