Preparing to code in Common Lisp

Prerequisite

Emacs

Install slime, and paredit

Edit ~/.emacs

Add paredit hooks

set inferior-lisp-program

(setq inferior-lisp-program "sbcl")

Anyways, for me, I need more memory so I did this.

(setq inferior-lisp-program "sbcl --dynamic-space-size 13000")

ASDF

Edit ~/.config/common-lisp/source-registry.conf

(:source-registry
  (:tree (:home "Develop/thesis"))
  :inherit-configuration)

Develop/thesis must be changed to a path to a directory in the home directory.

The project

My project name is mt-seq and I put it in ~/Develop/thesis.

  • ~/Develop/thesis/mt-seq.asd
(defsystem mt-seq
  :description "mt-seq"
  :author "Vee Satayamas"
  :license "LLGPL"
  :depends-on ("asdf" "lparallel" "bt-semaphore")
  :components ((:module "src"
        :serial t
        :components ((:file "packages")
                 (:file "mt")))))
  • ~/Develop/thesis/src/mt.lisp
(in-package :mt-seq)

(defun toto (x)
  x)
  • ~/Develop/thesis/src/packages.lisp
(defpackage :mt-seq
  (:use :cl :lparallel :bt-semaphore)
  (:export #:toto))

I expect that this should be sufficient for starting a new project in Common Lisp in a proper format.