Penguin

Differences between version 12 and predecessor to the previous major change of LISP.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 12 Last edited on Sunday, October 26, 2003 7:18:05 am by AristotlePagaltzis Revert
Older page: version 1 Last edited on Monday, November 18, 2002 3:15:14 pm by JohnMcPherson Revert
@@ -1,43 +1,19 @@
-__LIS __t __P__rocessing. 
+The name is an [Acronym] for __Lis __t __P__rocessing and denotes a family of [ProgrammingLanguage]s
  
-a ' makes something a quote (ie a string). So:  
- '(elem1 elem2 elem3)  
-is a list.  
+QuickLispTutorial  
  
-setq makes something a global variable. (? - what's the difference between setq and let someone?)  
- (setq mylist '(a b c))  
+!!Dialects  
+; [CommonLisp] : standardised, heavy -duty Lisp.  
+; [Scheme] : elegant intellectual Lisp.  
+; [Elisp] : the scripting language for [Emacs]  
  
-car returns the first element of a list :  
- (print (car mylist ))  
- a  
+!!Interesting Links  
+* [Online LISP tutorial | http ://apsymac33.uni-trier.de:8080/Lisp-Course]  
+* [Recursive Functions of Symbolic Expressions and Their Computation by Machine (Part I ) | http://www-formal.stanford.edu/jmc/recursive.html], the original paper discussing [LISP].  
  
-cdr returns the rest of the list (ie all-but-first):  
- (print (cdr mylist))  
- (b c)  
+The secret to reading [LISP] is to look at the indenting. You will go mad if you count the brackets.  
  
-And that is basically LISP ;)  
+The secret to writing [LISP] is to always use an editor that autoindents [ LISP] code and highlights matching brackets for you. [Emacs] does this.  
  
-emacs is completely scriptable in LISP - look in /usr/share/emacs/site -lisp/*.el for the start -up and config files.  
-  
-Here is an emacs lisp example from po -mode.el. It only has a maximum of 8 closing brackets in a row, but I didn't look very hard.  
-  
- ;; Handle missing `with -temp-buffer' function.  
- (eval-and-compile  
- (if nil ; FIXME: just testing... (fboundp 'with-temp-buffer)  
-  
- (fset 'po-with-temp-buffer (symbol-function 'with-temp-buffer))  
-  
- (defmacro po-with-temp-buffer (&rest forms)  
- "Create a temporary buffer , and evaluate FORMS there like `progn'."  
- (let ((curr-buffer (make-symbol "curr-buffer"))  
- (temp-buffer (make-symbol "temp-buffer")))  
- `(let ((,curr-buffer (current-buffer))  
- (,temp-buffer (get-buffer-create  
- (generate-new-buffer-name " *po-temp*"))))  
- (unwind-protect  
- (progn  
- (set-buffer ,temp-buffer)  
- ,@forms)  
- (set-buffer ,curr-buffer)  
- (and (buffer-name ,temp-buffer)  
- (kill-buffer ,temp-buffer))))))))  
+-----  
+CategoryProgrammingLanguages , CategoryFunctionalProgrammingLanguages