User:Msiddalingaiah/Lisp
From Wikipedia, the free encyclopedia
Wikipedia: Lisp
Contents |
[edit] Primitives
[edit] Quote
Quote defers evaluation:
(quote (+ 1 4)) ; returns the list (+ 1 4), not 5
' is shorthand:
'(+ 1 4)
[edit] Set
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
[edit] Lambda
Lambda creates a function object:
(set 'f (lambda (a b) (+ a b)))
[edit] Defun
Defines a function:
(defun funny (a b) (+ a b))
[edit] Funcall
Calls a function object with known number of arguments:
(funcall f 4 5) ; returns 9
[edit] Apply
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
[edit] Function
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

