Version 22 of Lisp

Updated 2003-09-05 08:31:03

Short for LISt Processing.

A modern dialect is Scheme--although that identification is about as incendiary in some circles as the observation that political, not linguistic, markers separate Serbia from Croatia.

See Tcl and LISP or Playing LISP.

Good LISP reading: http://www.paulgraham.com/onlisptext.html , http://www.norvig.com/paip.html .


On Tcl: "No question but that real lisps are more powerful than this bastard child of lisp and awk, but for what it does it does a better job than either parent. Which is all you need to ask of it." (Peter da Silva, 1994 [L1 ])


How close is the correspondence?

[ ... ] maps closely to ( ... )

{ ... } seems to be '( ... )

The difference (apart from expr, of course) is more in how words are grouped - in Lisp they form a list of tokens, not a string. So manipulating expressions "as text" is done by manipulating tokens in macros. And I'm at a bit of a loss to explain $...

RS: See (and maybe add to) Tcl in comparison


John McCarthy (father of Lisp), LISP-Notes on its past and future-1980 [L2 ]: " Many people have proposed implementations of full lambda calculus. This permits higher level functions, i.e. functions of functions of functions etc., but allows only manipulations based on composition and lambda conversions, not general manipulations of the symbolic form of functions. ... It seems to me that LISP will probably be superseded for many purposes by a language that does to LISP what LISP does to machine language. Namely it will be a higher level language than LISP that, like LISP and machine language, can refer to its own programs." Does Tcl fit that description? I think so! As (names of) functions are just strings, they can be manipulated at every level, and both names and bodies can be manipulated... (RS)

MSW I strongly disagree! Tcl is NOT higher level than lisp, while lisp is "a bit" higher level than machine language :). It, in some areas, comes near lisp because it's conceptually small, functional and list-based. Yet I guess you haven't programmed lisp (yet, or for ages), else you wouldn't get such strange ideas, RS :). I also think we shouldn't, with all Tcl Advocacy active, try to say, "Yeah, Tcl can be Lisp if you want", or "Tcl can be XXX if you want" because that's just ridiculous. If we don't have a notion of identity, how can we bring tcl forward ? "Oh wait, tcl. Isn't that just another lisp dialect with less uniform syntax ?". Or, "Yeah, C can be lisp, too". It's the same error as the perl folks made, when the claimed big-mouthedly, Perl is more portable than C (ever ported socket stuff unix <-> windows ?), higher level (how ever did they come to that conclusion when it's not about syntax-sugared operations ?) and a superset of both sed and awk (..and done so badly you want awk & sed back `immediately`). Instead we should be concentrating on `tcl` itself ... So please let's stop disparaging any language coming along just to bring tcl forward. RS, you're doing a good job with your snippets on the wiki, and the wiki community in general, but tcl fitting that description ? Come on ...


[ Category Language ].