From: Cameron Laird
Subject: Eval only in homeopathic dosage (was: turning a string into an object name)
Date: 
Message-ID: <3D605F0E18400355.00C9CA937F5F0F26.B72EE95D42998046@lp.airnews.net>
In article <··························@news.nwlink.com>,
Jeff Shannon  <····@ccvcorp.com> wrote:
			.
			.
			.
>If you have numerous objects that are conceptually similar, so 
>that it makes sense to name them sequentially, then you *really* 
>want to put them in a list or dictionary instead.
>
>The same thing is true of almost *every* use of exec or eval() -- 
>it seems handy, but if you look for it, there's a better solution 
>to your real problem.
			.
			.
			.
Of course.

The question I have is this:  do the (Common, let's say)
Lispers agree yet?  Their usual response to lots of situ-
ations is that Lisp has hygienic macros, and that makes
all the difference in the world.  Well, yeah, Lisp's 
great for definition of Little Languages, which are
always inherently desirable.  On the other hand, intro-
spective fiddling is always, *always* tricky, and never
helps maintenance of (end-user) applications.  We pro-
pellorheads lust for it, and of course it's crucial in
small doses, but it's simply a hazard beyond one or 
two molecules per program.

I'll make this concrete:  what's a modern example of 
use of a hygienic macro in an end-user application
that wouldn't truly be better off as a dictionary or
related data structure?
-- 

Cameron Laird <·······@Lairds.com>
Business:  http://www.Phaseit.net
Personal:  http://starbase.neosoft.com/~claird/home.html
From: Nils Goesche
Subject: Re: Eval only in homeopathic dosage (was: turning a string into an object name)
Date: 
Message-ID: <87hemr9g2n.fsf@darkstar.cartan>
······@starbase.neosoft.com (Cameron Laird) writes:

> In article <··························@news.nwlink.com>,
> Jeff Shannon  <····@ccvcorp.com> wrote:

> >If you have numerous objects that are conceptually similar, so 
> >that it makes sense to name them sequentially, then you *really* 
> >want to put them in a list or dictionary instead.
> >
> >The same thing is true of almost *every* use of exec or eval() -- 
> >it seems handy, but if you look for it, there's a better solution 
> >to your real problem.

> Of course.
> 
> The question I have is this:  do the (Common, let's say)
> Lispers agree yet?  Their usual response to lots of situ-
> ations is that Lisp has hygienic macros, and that makes

Lisp is not Scheme.  There is DEFMACRO, though...

> all the difference in the world.  Well, yeah, Lisp's 
> great for definition of Little Languages, which are
> always inherently desirable.  On the other hand, intro-
> spective fiddling is always, *always* tricky, and never
> helps maintenance of (end-user) applications.  We pro-
> pellorheads lust for it, and of course it's crucial in
> small doses, but it's simply a hazard beyond one or 
> two molecules per program.
> 
> I'll make this concrete:  what's a modern example of 
> use of a hygienic macro in an end-user application
> that wouldn't truly be better off as a dictionary or
> related data structure?

I am not sure I get what you mean.  How would you replace, say,
the WITH-OPEN-FILE or DEFCLASS macro by a dictionary?

Regards,
-- 
Nils Goesche
Ask not for whom the <CONTROL-G> tolls.

PGP key ID #xC66D6E6F