All symbols: http://www.lispworks.com/documentation/HyperSpec/Front/X_AllSym.htm
- Simplified Common Lisp Reference: https://jtra.cz/stuff/lisp/sclr/index.html
- Lots of examples from CSCI 330: http://csci.viu.ca/~wesselsd/courses/csci330/code/lisp/
- The Common Lisp Cookbook: https://lispcookbook.github.io/cl-cookbook/
- The Hyperspec: http://www.lispworks.com/documentation/HyperSpec/Front/
- Practical Common Lisp (full text): https://gigamonkeys.com/book/
- Lisp vs Scheme vs Clojure: https://hyperpolyglot.org/lisp
- Rainer Joswig on stackoverflow: https://stackoverflow.com/users/69545/rainer-joswig
- Strings:
"hello" - Characters:
#\z - Numbers:
- Bit:
0,1 - Integer:
42 - Single float:
12.3,12.3f0,1.23e1 - Double float:
12.3d0 - Ratio:
1/2 - Complex:
#c(1 2)(1 + 2i)
- Bit:
- Boolean:
niland'()are falsy, everything else is truthy.tis true.
Values:
- local:
let,let* - global:
defvar,defparameter,defconstant
Mutation:
setq,setf
Functions:
- local:
flet,labels - global:
defun
Aliasing evenp as even?:
(setf (fdefinition (quote even?)) (function evenp))(setf (fdefinition 'even?) #'evenp)(let list of pairs expression expression ...)
(let ((a 1)) (print a))(let ((a 1) (b 2)) (print a) (print b))Use let* when you need to define variables in terms of each other.
(let ((a 1) (b a)) (print a) (print b))