Skip to main content
Department of Information Technology

Links and readings

Erlang

Main site: http://www.erlang.org/

Courses, textbooks and tutorials

Getting started with Erlang
http://www.erlang.org/doc/getting_started/users_guide.html

An Erlang course
http://www.erlang.org/course/course.html

Joe Armstrong, Robert Virding, Claes Wikström, Mike Williams: Concurrent Programming in Erlang, second edition, 1996.
http://www.erlang.org/download/erlang-book-part1.pdf

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.
http://learnyousomeerlang.com/content Learn you some Erlang.
Documentation

Erlang/OTP documentation

http://www.erlang.org/doc/

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.
http://www.gigamonkeys.com/book/

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.
http://www.psg.com/~dlamkins/sl/contents.html

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: http://www.paulgraham.com/acl.html

Also read Bill Clementson's comments: http://bc.tech.coop/blog/040517.html

Software

SBCL and Slime

http://www.sbcl.org/
http://common-lisp.net/project/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. http://landoflisp.com/

Peter Norvig: Tutorial on good lisp programming style (postscript), http://norvig.com/luv-slides.ps, 1993.
David J. Cooper, Jr: Basic Lisp Techniques, 2011. http://www.franz.com/resources/educational_resources/cooper.book.pdf
Mark Watson: Loving Lisp - the Savy Programmer's Secret Weapon, 2002.
http://www.markwatson.com/opencontent/

David S. Touretzky: Common Lisp: A Gentle Introduction to Symbolic Computation, 1984.
http://www.cs.cmu.edu/~dst/LispBook/

Didier Verna, How to make Lisp go faster than C, 2006.
http://www.iaeng.org/IJCS/issues_v32/issue_4/IJCS_32_4_19.pdf

Erann Gat, Lisp as an Alternative to Java, 2000.
http://www.flownet.com/gat/papers/lisp-java.pdf

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.

http://www.franz.com/support/documentation/6.2/ansicl/ansicl.htm

http://www.lispworks.com/documentation/HyperSpec/Front/

CLOS

http://www.dreamsongs.com/NewFiles/ECOOP.pdf

Winner of Google AI contest 2010

http://www.zdnet.com/blog/burnette/hungarian-lisp-developer-walks-away-with-google-ai-contest/2131

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 http://p-cos.net/lisp/guide.html Useful advice for the beginner. From an OOP point of view

Marty Hall http://www.apl.jhu.edu/~hall/lisp.html

Educational resources http://www.alu.org/alu/res-lisp-education

Monads

The Wikipedia page on monads is quite good.

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