Lisp Programming/Overview< Lisp Programming
An overview, eh? So, very quickly, here are the nuts and bolts;
(defun ! (x) ; Defines a factorial function denoted by the exclamation mark symbol. (if (> x 0) (* x (! (- x 1))) 1))
tail-end recursion... creating a factorial function.
(setf this '(hello world opps goodbye)) (car this) => hello (cdr this) => (world opps goodbye) (cadr this) => world (cdar this) => probably an error
lists, what lisp is named for, and a few functions that get at lisp.
if you must, you can also do:
(setf ... same... (first this) => hello ... (second this) => world
but you can't compose it (ex have doing car cdr be cadr)
and yay, macros...
(defmacro when (cond &body body) (if (cond) (progn ,@body)))
by this time, we're kind of getting in over our heads, but hey!
(defun do-nothing (anargument :key akeywordargument :opt anoptionalargument :rest everythingelseinalist))
I couldn't figure out a way to incorporate all four types of function arguments into one (you can't, and it's generally a bad idea to combine more than 2 of them.)
There's also the CLOS (common lisp object system) and a whole lot of other stuff that you probably should know about, but if you want to really, you better work through a good tutorial.
So hey, that's kind of a rough gist of Lisp. Have fun lisping!