The most famous Functional Programming language is Lisp, which is short for LISt Processing. It is the second oldest programming language still in use today and dates from 1958, and its design was highly influenced by everyone’s favourite kind of calculus, λ calculus. Lisp has given rise to many dialects, which are basically different versions. The specific version we’re going to use is based on one of the most popular, Scheme, and is called Racket.
Racket is freely downloadable from here. Make sure you complete the labs from Moodle, as several of the later sections will have downloadable Racket code.
If you are using a different implementation of Lisp, the chances are the code will work just fine in them too.
For example, here is some code that implements a Stack in Racket.