Resources
Software
The course comes with a handy docker image which contains the necessary software to run OCaml, SWI-Prolog and the Jupyter notebooks, primarily through which the course is taught. The instructions for running the Jupyter notebooks is here.
Docker
Docker is a free software and is supported on all major platforms. The installation instructions for Docker is available here.
OCaml
You don’t need a local installation of OCaml on your machine for the course. The docker image is enough. If you want to, check out ocaml.org.
SWI-Prolog
You don’t need a local installation of SWI-Prolog on your machine for the course. The docker image is enough. If you want to, SWI-Prolog installation instructions are here.
Learning
OCaml
Recommended
- Functional Programming in OCaml, Cornell CS3110 textbook. Freely available here.
- Real World OCaml, by Yaron Minsky, Anil Madhavapeddy and Jason Hickey. The book is freely available at dev.realworldocaml.org.
References
Practice
Lambda Calculus
Recommended
- Types and Programming Languages (TAPL), by Benjamin Pierce.
- Peter Selinger’s lecture notes on lambda calculus available here.
Prolog
Recommended
- Programming Languages, Concepts and Constructs, 2nd edition, by Ravi Sethi. Chapter 11.
References
- The Art of Prolog, 2nd edition, Advanced Programming Techniques, by Leon Sterling and Ehud Y. Shapiro. Available for free here.