User:Msiddalingaiah/Lisp
Appearance
Wikipedia: Lisp
Primitives[edit]
Quote[edit]
Quote defers evaluation:
(quote (+ 1 4)) ; returns the list (+ 1 4), not 5
' is shorthand:
'(+ 1 4)
Set[edit]
Set assigns the value of the first argument to the value of the second argument:
(set 'x 1) ; sets the symbol x to value 1 (set (quote x) 1) ; same thing (set 'y 'x) ; sets the symbol y to symbol x (set y 2) ; x now has value 2
Setq is a synonym for (set '):
(setq x 1) ; sets the symbol x to value 1
Lambda[edit]
Lambda creates a function object:
(set 'f (lambda (a b) (+ a b)))
Defun[edit]
Defines a function:
(defun funny (a b) (+ a b))
Funcall[edit]
Calls a function object with known number of arguments:
(funcall f 4 5) ; returns 9
Apply[edit]
Apply calls a function object. The arguments to the function are supplied as a list:
(apply f '(2 3)) ; quote the list to avoid evaluating the arguments (apply f (quote (2 4))) ; same thing
Function[edit]
Function gets the function object bound to a name:
(function funny) ; returns function object #'funny ; same thing (set 'g (function funny)) (apply g '(5 6)) ; returns 11 (apply (function funny) '(7 8)) ; returns 15