Skip to main content
Department of Information Technology

Links and readings


Main site:

Courses, textbooks and tutorials

Getting started with Erlang

An Erlang course

Joe Armstrong, Robert Virding, Claes Wikström, Mike Williams: Concurrent Programming in Erlang, second edition, 1996.

Nice book, but slightly outdated. The first part (that is included in the PDF) is fine.

Joe Armstrong: Programming Erlang: Software for a Concurrent World, 2007.
Francesco Cesarini, Simon Thompson: Erlang Programming: A Concurrent Approach to Software Development, 2009.
Martin Logan, Eric Merritt, Richard Carlsson: Erlang and OTP in action, 2011. Learn you some Erlang.

Erlang/OTP documentation

Common Lisp

There is no main site for CL, so I will have to put more links here than for the other languages.

Recommended Common Lisp books

Peter Seibel: Practical Common Lisp, 2005.

Nice book, but written in an inspirational style which means that it is not strong on details. It may still be a good idea to read this book and get the details elsewhere. Chapter 16 is a good introduction to CLOS and a contrasting way of doing object oriented programming.

David B. Lamkins: Successful Lisp, 2004.

After looking through a number of web resources for CL I decided I like this one best. One problem though-he does not present CL as a functional language.

Paul Graham: ANSI Common Lisp, 1995.
Not available on the web. Nice tutorial and good documentation of most of the language.

Some chapters can be found here:

Also read Bill Clementson's comments:


SBCL and Slime
If you use Ubuntu, all software used in the course can be installed using the package manager.

Other books and tutorials

Conrad Barski Land of Lisp: Learn to Program in Lisp, One Game at a Time!, 2010.
Uses simple games to teach Common Lisp.

Peter Norvig: Tutorial on good lisp programming style (postscript),, 1993.
David J. Cooper, Jr: Basic Lisp Techniques, 2011.
Mark Watson: Loving Lisp - the Savy Programmer's Secret Weapon, 2002.

David S. Touretzky: Common Lisp: A Gentle Introduction to Symbolic Computation, 1984.

Didier Verna, How to make Lisp go faster than C, 2006.

Erann Gat, Lisp as an Alternative to Java, 2000.

Common Lisp Specification

The hyperspec. Contains a lot of things that are not relevant for beginners. The two links contain the same material in different styles.


Winner of Google AI contest 2010

Link Collections

There's a lot of material here, so don't spend too much time exploring these links!

Also, keep in mind that Scheme is a different programming language, so don't read any Scheme tutorials when you are learning Common Lisp!

Pascal Costanza's Highly Opinionated Guide to Lisp Useful advice for the beginner. From an OOP point of view

Marty Hall

Educational resources


The Wikipedia page on monads is quite good.

Updated  2012-12-09 11:45:20 by Cons T. Åhs.