"Stephen J. Turnbull" <turnbull(a)sk.tsukuba.ac.jp> writes:
> 1. Do the respective standards specify things (like behavior of text
> objects) that we would prefer to specify ourselves? (Neither camp has
> said anything about this AFAIK.) If so, this is harmful to ease of
> migration.
Neither CL nor Scheme contain descriptions of "text objects", I think.
> 2. What constructs in one dialect would be difficult or impossible to
> implement efficiently in the other?
Why is this an issue? I don't *want* to implement Scheme in CL, nor
do I want to implement CL in Scheme.
> 3. Where will it be hard to emulate current elisp efficiently?
It is my hope that it will be possible to evaluate Emacs Lisp from
Common Lisp "directly", within a specific package, without the need
for a translator. I have not delved into this further, but Erik
Naggum proposed some interesting ideas in his articles.
An example of Erik's idea is to use the CL package system for our
advantage. For example, in `.el' files, `elisp' would be the current
package, and elisp::mapcar would grok strings and vectors. Also,
within these files, the reader would grok [] as vector syntax. Etc.
> 4. Where the semantics of common constructs differ among elisp,
> Common Lisp, and Scheme, how hard is it going to be for casual elisp
> programmers to make the switchover?
Lars expanded on this nicely. It is much easier for elisp programmers
to switch to CL than to Scheme.
> 5. Do we or CLisp or any of the suggested Scheme variants have an API
> that will allow us to separate the Lisp engine proper from extensions,
> like the C-level support for fontification?
I'm not sure about clisp. Michael claims that there are Scheme
variants with excellent FFI's, and I believe him.
> This is especially important if we hope to offload Lisp engine
> maintenance, as Bruno has offered to do for CLisp.
Bruno already maintains clisp, no matter what we do. What he offered
to do is help us implement the additional Emacs-specific stuff within
clisp, such as `DEFINE_LRECORD_IMPLEMENTATION' lookalikes.
> mb> Scheme has been designed for programming language research,
> mb> rather than practical use. It has such a history of
> mb> minimalism that all scheme implementations had to provide
> mb> extensions to be useful.
>
> Hmm. Sounds like Common Lisp is going to require lots of extensions
> to be useful to us, to me. CLtL1, at least, makes no reference to
> editing buffers or multilingual text processing, frames or extents.
True, but the same goes for Scheme. What Martin really meant was more
clearly explained in Lars' messages.
> Minimal is good, if we want to support different extension
> languages.
I don't think we want to do that, with the single exception of Emacs
Lisp. At least I would argue against that.
> Minimal is good, if we are going to end up having to maintain the Lisp
> engine ourselves. Yes, Bruno says that he will help maintain a Common
> Lisp engine specific to XEmacs. Does he understand that that will
> possibly include things like C-level support for fontification?
C-level support for fontification has nothing to do with the Lisp
engine, and will surely not be maintained by Bruno.
> mb> It still is missing many things. For example, my beloved
> mb> (when ...) is missing (from the standard). Hashtables are
> mb> missing.
>
> (when ...) is a trivial macro, isn't it? ("Very useful" and now
> "beloved"! What loyalty a trivial extension can engender!)
>
> Hashtables, we can do.
>
> Why would having these (and many similar items, I'm sure) _in the
> standard_ be useful to us?
Because then you don't have to rely on incompatible extensions.
Again, see Lars' DELETE-IF example.
> mb> (call-with-current-continuation) is a very interesting
> mb> function, but one cannot expect ordinary humans to understand
> mb> it. It is only a tool for system implementors.
>
> XEmacs is a system, is it not? _We_ are system implementors. (Sorry
> for the implicit self-aggrandizement.) However, I will leave call/cc's
> serious usage to Michael and the Mark II version of Karl Hegbloom ;-)
> I imagine most package writers and so on will do so, too.
>
> If we can get coroutines and threads as cheaply as Michael suggests,
> that is a _big_ deal.
I'm afraid we can't.
--
Hrvoje Niksic <hniksic(a)srce.hr> | Student at FER Zagreb, Croatia
--------------------------------+--------------------------------
4. Thou shalt not warlorde a sig if it bee the sig of Kibo, nor if
it bee the sig of the Inner Circle.