paulgorman.org

Common Lisp Notes

Practical Common Lisp is a very worthwhile book.

There are many fine implementations of Common Lisp. I'm using SBCL.

SBCL has a REPL. However, it use readline, so we may want to invoke it like rlwrap sbcl.

* (+ 2 2)

4
* "Hello, world."

"Hello, world."
* (format t "Hello, world.")
Hello, world.
NIL
* (defun hello (who) (format t (concatenate 'string "Hello, " who)))

HELLO
* (hello "world")
Hello, world
NIL
* (load "~/tmp/mycode.lisp")

T
* (quit)

Lisp source code files are traditionally named with the extension .lisp or sometimes .cl.

Basic vim integration (yes, yes, I know about emacs)

Pipe current buffer contents to the REPL like :[range]w !sbcl --noinform, and possibly add something like this to your .vimrc: nmap l :w !sbcl --noinform<CR>.