Re: Core foundation of Common Lisp (not pure Lisp)
From: Duane Rettig (duane_at_franz.com)
Date: 01/06/05
- Next message: Christian Lynbech: "Re: the best Linux for me"
- Previous message: Jeff M.: "Re: Practical Common Lisp: What's Next?"
- In reply to: John Thingstad: "Re: Core foundation of Common Lisp (not pure Lisp)"
- Next in thread: Gareth McCaughan: "Re: Core foundation of Common Lisp (not pure Lisp)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: 06 Jan 2005 12:58:00 -0800
"John Thingstad" <john.thingstad@chello.no> writes:
> On 06 Jan 2005 08:47:08 -0800, Duane Rettig <duane@franz.com> wrote:
>
> > Actually, not :-)
> >
> > Barry alluded to the why in terms of why the technique is not a
> > Bad Thing, but not why the technique is in fact a Good Thing and
> > thus why an implementor would want to proliferate the technique ...
> >
> > This is actually the cleanest way to implement a definition; there
> > needs to be functionality for the definition of not, and also for
> > its compilation. If this functionality is spread between both
> > functional code and compiler inlining, the knowledge of NOT is
> > harder to maintain, because it is in two different places. However,
> > if the functional definition is done as above, with the intelligence
> > about the real definition in the compiler, then the functionality
> > resides in one place and becomes very easy to maintain. Not that
> > NOT needs maintaining, but there are other more complex functions
> > that have this attribute...
> >
>
> I can see how this makes sense from a implementor perspective.
> It's the thought of having a function tested and debugged
> and considered finished only to discover that it no longer
> works when I compile it that bothers me.
I don't understand this. Such a self-descriptive function
will _only_ work when you compile it...
> Still if I had followed the suggestions given both by
> the compiler and evaluator not to redefine the function
> in the first place I suspect there would be no problem.
If you're talking about package locking deterring one from
redefining CL functions, then yes; implementors have ways
to get around these things. But as for never redefining a
function in the first place, consider the maxims that state
that large percentages (I usually hear 80%) of programming
effort is spent in maintenance, and not in writing new code,
so if that effort were not required, most programmers would
then be out of a job...
-- Duane Rettig duane@franz.com Franz Inc. http://www.franz.com/ 555 12th St., Suite 1450 http://www.555citycenter.com/ Oakland, Ca. 94607 Phone: (510) 452-2000; Fax: (510) 452-0182
- Next message: Christian Lynbech: "Re: the best Linux for me"
- Previous message: Jeff M.: "Re: Practical Common Lisp: What's Next?"
- In reply to: John Thingstad: "Re: Core foundation of Common Lisp (not pure Lisp)"
- Next in thread: Gareth McCaughan: "Re: Core foundation of Common Lisp (not pure Lisp)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|
|