(gnu) common lisp: features and functions
Getting started General use

To create executable scripts

  • Edit and save the file (.cl is the typical extension)
  • Make sure the first line is
    #! /usr/bin/gcl -f
  • Make the file executable
    chmod u+x filename
  • ./filename to run the file
  • command line arguments


  • We are running gcl 2.6.12 from gnu.org, packaged for debian
  • There are some lisps with similar (though definitely not the same) functionality available, but your labs/assignments must run on otter/cubs/pups. Compatibility is definitely not guaranteed for the packages below, but at least they do give you a chance to experiment on your own machines:
  • On windows:
    gcl.exe (ftp from Novak's site at U. Texas)
    or sbcl (Steel Bank Common Lisp)
    or cygwin (use the clisp package)
  • on android:
    picolisp (search for termux-penti-picolisp)

Variables, data types, operations

Basic I/O


Creating functions



Advanced data types

Code blocks


File I/O, pipes and streams

Higher order functions

Let over lambda

Altering functions "on the fly"

Parsing lisp in lisp



  • cmpinclude.h (see the C structs and typedefs underlying the lisp data types in gcl)
General coding examples
Data structure examples (lists etc) Other examples