Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!newsserver.jvnc.net!nntpserver.pppl.gov!princeton!news.princeton.edu!blume
From: blume@atomic.cs.princeton.edu (Matthias Blume)
Subject: Re: using special forms
In-Reply-To: francis@et.tudelft.nl's message of 30 Mar 1995 12:49:46 GMT
Message-ID: <BLUME.95Mar30224656@atomic.cs.princeton.edu>
Originator: news@hedgehog.Princeton.EDU
Sender: news@Princeton.EDU (USENET News System)
Nntp-Posting-Host: atomic.cs.princeton.edu
Organization: Princeton University
References: <3le9da$500@liberator.et.tudelft.nl>
Date: Fri, 31 Mar 1995 03:46:56 GMT
Lines: 16

In article <3le9da$500@liberator.et.tudelft.nl> francis@et.tudelft.nl (Francis Jungschlager) writes:

   I would like to know if it is possible to define special-form procedures in
   scheme. For those who wonder what a special form is: a special form is a
   procedure like if or define that does not evaluate it's arguments until it
   really needs them.

No.  But if your system has macros (not really standardized yet) and
EVAL (yuck!) then you can emulate Lisp-style special form procedures.
I think special form procedures are a bad idea in the first place (IF,
SET!, LAMBDA, etc. in Scheme are referred to as *syntax*) and with a
good macro system there is no reason to have them.  But this is just
my personal opinion, others will certainly disagree.

--
-Matthias
