Re: Relative merits of Lisp-1 vs. Lisp-2?
- From: Pascal Costanza <pc@xxxxxxxxx>
- Date: Fri, 02 Jun 2006 00:00:21 +0200
Ron Garret wrote:
In article <4e92c0F1dfmdbU1@xxxxxxxxxxxxxx>,
Pascal Costanza <pc@xxxxxxxxx> wrote:
The fact that the same form gives rise to two reasonable, but completely different interpretations _is_ confusing.
On that view, many things in CL are already confusing.
Sure.
Personally I find the idea of ((...) ...) == (funcall (...) ...) to be quite clear, unambiguous, and easy to understand. It also has the nice property that it subsumes the ((lambda ...) ...) rule, which is also (you must at this point agree) quite confusing.
Yes, I agree, ((lambda ...) ...) is also confusing.
I wasn't a member of the ANSI CL standardization committee.The fact that you have an existence proof is clear evidence that I cannot disallow you to do this.But I am only able to do it by resorting to implementation-specific hacks (or a full code walker, which offends my sensibilities for something so trivial). And that is a direct result of you and people like you who wish to impose gratuitous constraints on the language on the grounds that *they* find it confusing or useless or whatever.
No, but you are a member of the faction that supports treating their work as immutable gospel.
This is incorrect. We only disagree in how change is actually achieved.
What are your other reasons?If I remember correctly, your motivation to enable treating conses in the car of a form in a meaningful way was to make a certain programming style more convenient.That is one reason. It is not the only reason.
I am working on adding a system of first-class global lexical environments to CL (originally called locales after the terminology in T, now called lexicons to avoid confusion with I18N). It turns out that adding these to the language has all sorts of happy consequences, including the seamless integration of Lisp-1 and Lisp-2 semantics without a code walker, in addition to a host of ancillary benefits which I will not detail here. I'll just say that great swaths of complexity and controversy can be mowed down and discarded if you have first-class global lexical environments.
One of the additional benefits is (possibly) a new macro system which combines the simplicity of Lisp-1 semantics and the simplicity of Lisp-2 macros while avoiding the risk of accidental name clashes, which some people might find an attractive alternative to what is currently available. But to prototype the system I need to be able to convert (^foo ...) into something like (funcall (top-level-binding 'foo) ...).
If I have ((...) ...) == (funcall (...) ...) then this is trivial. All I need is a reader macro for #\^, and everything works just fine. But without that I have to resort to one of a number of horrible hacks, a code walker being among the least horrible of them.
There are other useful things one can do as well, but that's the one that has my attention at the moment.
I am looking forward to reading about, and playing with, the whole thing. I am skeptical that you can achieve all your goals, but I am happy to be proved wrong.
Pascal
--
3rd European Lisp Workshop
July 3 - Nantes, France - co-located with ECOOP 2006
http://lisp-ecoop06.bknr.net/
.
- Follow-Ups:
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- From: Ron Garret
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- References:
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- From: Marcin 'Qrczak' Kowalczyk
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- From: Ron Garret
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- From: Pascal Costanza
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- From: Peter Seibel
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- From: Pascal Costanza
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- From: Ron Garret
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- From: Pascal Costanza
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- From: Ron Garret
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- From: Pascal Costanza
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- From: Ron Garret
- Re: Relative merits of Lisp-1 vs. Lisp-2?
- Prev by Date: Re: organizing lisp code
- Next by Date: Re: SGML
- Previous by thread: Re: Relative merits of Lisp-1 vs. Lisp-2?
- Next by thread: Re: Relative merits of Lisp-1 vs. Lisp-2?
- Index(es):
Relevant Pages
|