question on the opaque syntax object debate Andrew Wilcox (18 Aug 2005 15:58 UTC)
Re: question on the opaque syntax object debate Andre van Tonder (18 Aug 2005 16:59 UTC)
Re: question on the opaque syntax object debate Jens Axel Søgaard (21 Aug 2005 10:16 UTC)
Re: question on the opaque syntax object debate Michael Sperber (20 Aug 2005 06:50 UTC)
Re: question on the opaque syntax object debate Matthias Neubauer (20 Aug 2005 13:19 UTC)
Re: question on the opaque syntax object debate Andre van Tonder (20 Aug 2005 19:48 UTC)
Re: question on the opaque syntax object debate Michael Sperber (21 Aug 2005 09:50 UTC)
Re: question on the opaque syntax object debate bear (21 Aug 2005 12:31 UTC)
Re: question on the opaque syntax object debate Panu Kalliokoski (21 Aug 2005 14:14 UTC)
Re: question on the opaque syntax object debate Michael Sperber (22 Aug 2005 16:00 UTC)

Re: question on the opaque syntax object debate bear 21 Aug 2005 12:31 UTC


On Sun, 21 Aug 2005, Michael Sperber wrote:

>bear <xxxxxx@sonic.net> writes:
>
>> Check me if I'm wrong, but as far as I know the only real problem with
>> that was the performance hit.

>No, the problem is the loss of abstraction.

It has always been my position that abstraction is something
the programmer does voluntarily, not something that any automatic
system can or should attempt to do.  Attempting to automate
abstraction locks in forms of abstraction which are sometimes
wrong.

>> I mean, if there were no performance problems, wouldn't it be more
>> powerful to be programming in a lisp where there were no separate
>> macroexpansion and compilation phases, and all the semantics were
>> available at runtime?

>You're joking, right?

Actually, no, I'm not.  That's a substantial part of what
set Lisp apart initially; that's part of _WHY_ it was the
most powerful programming language ever developed.  Separating
phases "for abstraction" seems  to me a lot like static typing
with required declarations "for error checking." That is, it's
not a completely bad idea, and absolutely appropriate for some
languages, but it's also not consistent with maximum
expressiveness.

In fact, I'll go further.  If compiler/interpreter technology
advances to the point where the performance benefits (or even
just 80% or so of them) can be realized without the phase
separation, I think getting rid of phase separation entirely
would be The Right Thing for Lisp dialects.

			Bear