Lisp

General Notes

Anyone who gripes about the profligate way Lisp uses parentheses is completely missing the point. Parentheses are just the simplest possible way of depicting tree-structures. For instance, the tree:

 

    A
    B
     1
      a
      b
     2
    C

 

is topologically equivalent to: ((A)(((a)(b))(2))(C)). Lisp requires exactly as many parentheses as it needs to define such trees, and no more.

 

-Memoirs of an AI Hacker

 

 

Below: these are my notes and references, that I’ve found and liked, and remembered to save, and need to remember to look at again, and reorganize if not organize.

 

a blog’s lisp categories

 

Paul Graham’s Lisp FAQ

 

LSharp - a Lispish .NET package

 

Steve Yegge: Lisp is not acceptable Lisp

 

C2: Smug Lisp Weenie

 

List Processing

 

So the short explanation of why this 1950s language is not obsolete is that it was not technology but math, and math doesn’t get stale. The right thing to compare Lisp to is not 1950s hardware, but, say, the Quicksort algorithm, which was discovered in 1960 and is still the fastest general-purpose sort. —Paul Graham

 

Lisp looks strange not so much because it has a strange syntax as because it has no syntax; you express programs directly in the parse trees that get built behind the scenes when other languages are parsed, and these trees are made of lists, which are Lisp data structures. —Paul Graham

 

Lisp humour
Using Emacs as a Lisp IDE
http://users.bigpond.net.au/d.keenan/Lambda/

 

http://www.dynamiclearningcenter.com/ - “features examples designed to introduce future developers to the power of Common Lisp” has a number of “coming soon” pages, but some examples of pattterns (see below) etc.

 

Lisp references, from Dynamic Learning Center

 

the journal Higher-Order and Symbolic Computation

 

Programming: You’re Doing it Wrong - a glower from McCarthy

 

The Little Lisper is available online
it’s now known as The Little Schemer and has been expanded, and has sequels
C2wiki on The Little Schemer
http://www.cs.indiana.edu/~dfried/
http://lambda-the-ultimate.org/node/1521

 

SICP “in” other (programming) languages, ie, using other languages to think about the same concepts

 

LOGO is almost Lisp - see Programming.Logo

 

http://reddit.com/search?q=lisp

 

Pascal Costanza’s Highly Opinionated Guide to Lisp

 

A Nickel’s Worth CL section

 

http://www.pchristensen.com/blog/lisp-companies/

 

Every language tells a story, this one is Common Lisp’s

 

Programming

human-order sorting. See also: Programming.Sort
Touretzky’s Common Lisp: A Gentle Introduction to Symbolic Computation
The Little Schemer (partial book)
Paul Graham’s On Lisp - free as PDF, essays, links, & more.
Practical Common Lisp - entire text of the APress book; I bought one in paper, anyway
Steve Yegge: Lisp Wins
Common Lisp: first contact - introduction, PDF of the book

 

see also: Emacs.ELisp

 

Design Patterns

 

http://www.norvig.com/lisp_talk_final.htm
Design Patterns in Dynamic Programming
2 patterns in Lisp

 

See Also: Programming.DesignPatterns and Programming.FunctionalProgramming#DesignPatterns

 

 

Implementations

Movitz - on-the-metal Lisp dev-environment

 

 

See Also

Scheme
Emacs.E Lisp
Programming/Logo

 

 

Category tags

Programming Language Lisp functional programming Emacs