- Basic CLisp Programming
- Develop Environment
- Project Management
- Useful System Projects
sudo apt update
sudo apt install -y \
sbcl \
rlwrap \
git \
build-essential \
clang \
cmake \
pkg-config \
libssl-devcurl -O https://beta.quicklisp.org/quicklisp.lisp
sbcl --load quicklisp.lisp
* (quicklisp-quickstart:install)
* (ql:add-to-init-file)
sbcl
* (ql:quickload :alexandria)
;;;; Quicklisp
(load "~/.quicklisp/setup.lisp")
;;;; Better REPL
(require 'sb-posix)
;;;; Debugging
(setf *debugger-hook*
(lambda (c h)
(declare (ignore h))
(format *error-output* "~&[LISP ERROR] ~A~%" c)
(sb-ext:exit :code 1)))
;;;; Performance
(declaim (optimize (speed 3) (safety 1) (debug 1)))Use ASDF
myproj/
├─ myproj.asd
└─ src/
└─ main.lisp
myproj.asd
(asdf:defsystem "myproj"
:description "Low-level Lisp project"
:author "Seojun Cha"
:license "MIT"
:depends-on (:alexandria :cffi)
:serial t
:components
((:module "src"
:components
((:file "main")))))src/main.lisp
(defpackage :myproj
(:use :cl))
(in-package :myproj)
(defun main ()
(format t "Hello Lisp~%"))Run sbcl
sbcl
(asdf:load-system :myproj)
(myproj:main)