From ...
From: Erik Naggum
Subject: Re: Avoiding unintentional variable capture
Date: 1999/09/11
Message-ID: <3146036566024257@naggum.no>#1/1
X-Deja-AN: 523728930
References: <37d6b784.46829757@judy> <7r8ouj$4pv$1@news.gte.com> <7rb7j0$6gn$1@news.gte.com>
mail-copies-to: never
X-Complaints-To: usenet@news.eunet.no
X-Trace: oslo-nntp.eunet.no 937047767 7991 193.71.66.49 (11 Sep 1999 11:02:47 GMT)
Organization: Naggum Software; +47 8800 8879; +1 510 435 8604; http://www.naggum.no
NNTP-Posting-Date: 11 Sep 1999 11:02:47 GMT
Newsgroups: comp.lang.lisp
* Ben Goetter
| Of course a Lisp programmer always uses gensym where appropriate to write
| a safe macro; thus also with Scheme, as any environment with defmacro
| will also have gensym. (If the Scheme lacks defmacro, how can it be
| unsafe? Unuseful, maybe, but unsafe?)
as I understand this, Scheme cannot generate symbols on the fly in code
in the first place, since the language is not defined in terms of sexprs,
but in terms of a grammar with a lexical analysis phase, and that it
wouldn't help with _possible_ conflicts, since there is no concept of
"uninterned symbol" (due to lack of a package concept), they do such
things with LAMBDA and its "renaming", anyway, which is lexical, and if
Scheme had had DEFMACRO, it would have been tremendously dangerous, since
it couldn't possibly be safe in Scheme, lacking all the machinery.
at key here is understanding the Scheme community's attitude towards
DEFMACRO in Common Lisp. simply put: they don't understand it, because
they lack the concepts to deal with what which makes macros safe in CL.
lack of concepts usually leads to an incredible amount of confusion, but
the Scheme community has voluntarily rejected a number of concepts, which
for a number of reasons they can't go back on, and having to do so would
in turn cause massive upheaval. thus the emotional intensity. Scheme
has reached its evolutionary apex, and anything you can do from here on
will be perceived to reduce the language. this is OK by me, actually,
since I think Scheme is hurting the Lisp community every time a Scheming
bastard tries to pass Scheme off as "Lisp" sans qualifications.
#:Erik
--
it's election time in Norway. explains everything, doesn't it?