Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!news.mathworks.com!newsfeed.internetmci.com!chi-news.cic.net!nntp.coast.net!col.hp.com!news.dtc.hp.com!hplntx!hplntx.hpl.hp.com!gjr
From: gjr@hplgr2.hpl.hp.com (Guillermo (Bill) J. Rozas)
Subject: Re: passing operator as argument
Sender: news@hpl.hp.com (HPLabs Usenet Login)
Message-ID: <GJR.95Dec18102854@hplgr2.hpl.hp.com>
In-Reply-To: oliver@co.traverse.com's message of 15 Dec 1995 22:42:08 GMT
Date: Mon, 18 Dec 1995 18:28:54 GMT
Reply-To: gjr@hplabs.hpl.hp.com
References: <DIynxs.HFq@cdf.toronto.edu>
	<maverick-0912950009530001@d117.nb.interaccess.com>
	<4astk0$a8t@bert.traverse.com>
Nntp-Posting-Host: hplgr2.hpl.hp.com
Organization: /users/gjr/.organization
Lines: 21

In article <4astk0$a8t@bert.traverse.com> oliver@co.traverse.com (Christopher Oliver) writes:

|   : > (apply and '(1 2 3))
|   : > 
|   : > ERROR: apply: Wrong type in arg1 (see errobj)
|
|   See section 3.2 of the LISP FAQ.  In short, AND and OR are special
|   forms rather than procedures, hence they can't be given as first args
|   to apply. 

Actually, AND and OR are special form keywords.  The special forms are
expressions following the patterns

(AND ...)
(OR ...)


It is because of this looseness in describing special forms that
people give their keywords more importance than they deserve and
expect them to have meaning on their own.

