Common Lisp environment

Show off:

(+ 1 2)
0.1s
Lisp
Common Lisp
3
(defun fibonacci (n)
  (let ((a 0) (b 1) (c n))
    (loop for i from 2 to n do
      (setq c (+ a b)
      	    a b
            b c))
      c))
      
(fibonacci 12)
0.0s
Lisp
Common Lisp
144

Installing sbcl (there are newer versions available but they require a newer version of glibc and they currently don't ship with ubuntu).

VERSION=1.4.5
wget https://prdownloads.sourceforge.net/sbcl/sbcl-${VERSION}-x86-64-linux-binary.tar.bz2
tar -xvjf sbcl-${VERSION}-x86-64-linux-binary.tar.bz2 
cd sbcl-$VERSION-x86-64-linux
sh install.sh
11.1s
Common Lisp (Bash)
sbcl --version
1.0s
Common Lisp (Bash)

Installing jupyter and the kernel.

pip install jupyter jupyter_client \
  git+https://github.com/nextjournal/jupyter_core
6.7s
Common Lisp (Bash)

I forked an existing kernel and hardcoded some IP. There is probably a more graceful way to do things, but this was quick an easy.

rm -rf cl-jupyter
git clone https://github.com/fiv0/cl-jupyter.git
cd cl-jupyter
python3 ./install-cl-jupyter.py
4.4s
Common Lisp (Bash)
du -hsx /
sbcl --version
jupyter kernelspec list
7.4s
Common Lisp (Bash)

Installing quicklisp

wget -O /tmp/ql.lisp  http://beta.quicklisp.org/quicklisp.lisp
sbcl --no-sysinit --no-userinit --load /tmp/ql.lisp \
     --eval '(quicklisp-quickstart:install :path "~/.quicklisp")' \
     --eval '(ql:add-to-init-file)' \
     --quit
25.2s
Common Lisp (Bash)
#-quicklisp
(let ((quicklisp-init (merge-pathnames ".quicklisp/setup.lisp"
                                       (user-homedir-pathname))))
  (when (probe-file quicklisp-init)
    (load quicklisp-init)))
.sbclrc
CommonLisp
{
 "ip": "0.0.0.0",
 "transport": "tcp",
 "stdin_port": 55555,
 "control_port": 55556,
 "hb_port": 55557,
 "shell_port": 55558,
 "iopub_port": 55559,
 "signature_scheme": "hmac-sha256",
 "key": "session-secret"
}
kernel.json
JSON
(require "asdf")
(asdf:asdf-version)
asdf-testing.lisp
CommonLisp
sbcl --non-interactive --load /asdf-testing.lisp
1.5s
Common Lisp (Bash)
Runtimes (2)
Runtime Languages (1)