sperber(a)informatik.uni-tuebingen.de (Michael Sperber [Mr. Preprocessor]) writes:
>>>>> "Hrvoje" == Hrvoje Niksic
<hniksic(a)srce.hr> writes:
Hrvoje> sperber(a)informatik.uni-tuebingen.de (Michael Sperber [Mr. Preprocessor])
writes:
Hrvoje> Lots of elisp code can run under Common Lisp almost
Hrvoje> unchanged. This is not true for Scheme.
>>
>> Please substantiate this. By default, for instance, `let' is
>> lexically scoped in Common Lisp, which is clearly incompatible with
>> Emacs Lisp.
Hrvoje> Not so by design. In fact, we were discussing introduction of a
Hrvoje> lexically scoped `let' to elisp many times. And guess what? The
Hrvoje> proposed semantics were equivalent to those used by CL -- lexical
Hrvoje> scope by default, dynamic scope for special variables.
Great. While I don't remember the proposed semantics, and don't
necessarily agree with this, this is just as easy to implement in
Scheme.
Have I ever denied it for this particular example? You brought up the
`let' issue.
Hrvoje> I don't care. Emacs is not ANSI CL. If that was the
Hrvoje> impression I was giving, I apologize, because that is not
Hrvoje> what I meant.
One important benefit in swapping the extension language would be
that we could use library code not specifically written for XEmacs.
There's lots and lots of library code for both Scheme and Common
Lisp. Stripping down the language would mean we couldn't use much
of it.
It depends on how you do the stripping.
If we're going to hook to a Lisp engine maintained by someone
else
(which we hopefully will), there's no reason to take only a part of
it.
Well, there are reasons such as size, speed, efficiency etc.
Hrvoje> The Scheme users and implementors don't have the
constraint
Hrvoje> of previous implementation of Common Lisp idioms. We do,
Hrvoje> and I would like us to preserve them.
Sure. Let's.
If we choose Scheme, I don't see the point.
Hrvoje> I don't like CMU CL (far too slow and buggy IMHO),
Actually, CMU CL produces pretty much the fastest CL code around.
Unfortuntately, it only works on very few architectures.
Exactly. And it's almost impossible to compile. And it's fucking
huge. Etc. Clisp doesn't have a native compiler, but it would
probably serve our purposes much better.
Hrvoje> and I haven't worked with GCL much. It might be
usable.
Now *that*'s what I would call slow and buggy. (...)
OK, I take that back.
P.S.
I'll forward my exchange with Bruno to the list.
--
Hrvoje Niksic <hniksic(a)srce.hr> | Student at FER Zagreb, Croatia
--------------------------------+--------------------------------
Lost in Static 18 / And the storm is closing in now