Preparing to create a new project in Common Lisp
Prerequisite
- SBCL
- rlwrap
- Emacs
- Quicklisp
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.
Update 2020-12-06: Or the project can be created using quickproject. Thanks Michał “phoe” Herda.
- ~/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.