Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!news.moneng.mei.com!uwm.edu!fnnews.fnal.gov!gw1.att.com!nntpa!ssbunews!iexist!not-for-mail
From: clarisse@iexist.flw.att.com
Subject: Re: Lisp considered unfinished
Message-ID: <D9x205.LLr@ssbunews.ih.att.com>
Originator: clarisse@tenet
Sender: clarisse@iexist (55437-olivier clarisse(haim)463)
Nntp-Posting-Host: tenet.flw.att.com
Organization: AT&T
References: <3r0v3d$bvp@tools.near.net> <3r5ads$60l@news.aero.org> <3r5kfn$4nh@camelot.ccs.neu.edu> <3r7k7a$dgg@camelot.ccs.neu.edu>
Date: Fri, 9 Jun 1995 17:31:17 GMT
Lines: 34


In article <3r7k7a$dgg@camelot.ccs.neu.edu>, will@ccs.neu.edu (William D Clinger) writes:
[...]
|> Common Lisp has about as many reserved words as COBOL.  (This is the
|> effect of CLtL2 p 260.)  Unlike COBOL, where the compiler reliably
|> complains if you misuse a reserved word, the effect of misusing a
|> reserved word in Common Lisp is implementation-dependent, and you
|> might not even get a warning message.
|>
(defpackage "EMPTY" (:use))
(in-package "EMPTY")	;Where Lisp has no reserved work.

Lisp only has as many "reserved words" as you want to include.
I have taught lisp by starting in a package "SMALL" that contained
only 16 imported symbols from COMMON-LISP (similar to "EMPTY" above).
Using SMALL to teach a small subset of important concepts, showing
students how you could rebuild all of Lisp within itself from SMALL,
and then introducing "COMMON-LISP" as a library package.

There are NO more reserved words in Lisp than in any other languages
and there are only ~27 special forms in common-lisp (but you can
eliminate all those you don't need). In CL least you have packages
to organize large software systems into manageable units.

If cond is confusing, don't include it in SMALL, if a function
does not work for weird reasons, don't teach it until students have
learned to produce small elegant functions that do useful things
(there are thousands of examples in CL books).

-- 
----------------
Olivier Clarisse	     "Languages are not unlike living organisms
Member of Technical Staff     can they adapt and improve to survive?"
AT&T Bell Laboratories
