User:Msiddalingaiah/Lisp

Wikipedia: Lisp


 * Jatha
 * Practical common Lisp
 * Parsing binary files

Quote
Quote defers evaluation:

(quote (+ 1 4)) ; returns the list (+ 1 4), not 5

' is shorthand:

'(+ 1 4)

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

Lambda
Lambda creates a function object:

(set 'f (lambda (a b) (+ a b)))

Defun
Defines a function:

(defun funny (a b) (+ a b))

Funcall
Calls a function object with known number of arguments:

(funcall f 4 5) ; returns 9

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

Function
Function gets the function object bound to a name:

(function funny) ; returns function object (set 'g (function funny)) (apply g '(5 6)) ; returns 11 (apply (function funny) '(7 8)) ; returns 15
 * 1) 'funny         ; same thing