Common Lisp Programming Exercises
Here are a few lisp exercises sources.
Common Lisp Koans is a language learning exercise in the same vein as
the ruby koans, python koans and others. It is a port of the prior
koans with some modifications to highlight lisp-specific features
- L-99: Ninety-Nine Lisp Problems actually derived from a set of 99 prolog problems ( with CL solutions by informatimago).
- Similarly, a set of Java array exercises: 30 Java array interview questions and answers ( with CL solutions by informatiamgo).
- Excercism.io offers a Common Lisp track with 29 exercises. Each exercise comes with a unit test script.
In general, you don't have to use a strict Common Lisp exercise source: a problem statement or a specification can be implemented in any programming language, including Common Lisp, even if the author of the problem had another specific programming language in mind. Of course, that means that some exercises become trivial, and other may be more difficult, so some adaptation may be needed: just take it as part of the exercise ;-)
- The blog Programming Praxis proposes regularly interesting exericses (the blog author proposes scheme solutions but solutions in any language are accepted in the comments).
- Sorry, I don't have any reference of CL books with exercises right now. Please edit and add book or tutorial references!
- Structure and Interpretation of Computer Programs has a number of exercises, similarly designed with scheme in mind, but that one can implement in Common Lisp without difficulty, such as: Solutions in CL by Eli Bendersky (only the first exercises are in CL, later he switched to scheme, but you can do everything in CL).
Probably the best sources of lisp exercises are your university courses and teachers, for example:
- Lisp Recursive Programming Exercises from York University
- Travaux dirigés de programmation Lisp from the Laboratoire de Recherche en Informatique (Bordeaux, France).
Some automatic on-line programming series accept lisp submissions, or lisp produced results, including:
- Sphere Online Judge where you would submit CL programs run with sbcl
- Project Euler where I'm told you only have to submit the answers, so you can use any CL implementation to compute them.
- CodeEval has many coding challenges categorized easy, moderate, hard. It doesn't accept solutions written in CL, but who cares?
There are also language agnostic programming exercices books such as:
- Exercises for Programmers – 57 Challenges to Develop Your Coding Skills by Brian P. Hogan