help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: About Emacs Modernisation Project


From: Pascal J. Bourguignon
Subject: Re: About Emacs Modernisation Project
Date: Wed, 08 Dec 2010 15:11:05 -0000
User-agent: Gnus/5.101 (Gnus v5.10.10) Emacs/23.1 (gnu/linux)

Evans Winner <thorne@unm.edu> writes:
> [...]
> I say all this not because I am an expert, obviously, but
> precisely the opposite.  I think that it is not such a given
> that Emacs ought to be re-written in Scheme or CL, and those
> who want to do it may find that it's a hard sell to get some
> Luddites like me using it, that's all.

I mostly agree with you, (and I'm letting me being convinced that
emacs lisp itself has some value for casual "programmers"),
nonetheless it occured to be rather often that I had problems in my
code because of collision of dynamic variable or function names.

So even if we agree (and let's say we do), that we must keep and
cannot do otherwise than keeping emacs lisp, for the benefit of users
and existing emacs lisp code,  I still think that it would be a good
thing for emacs to be based on Common Lisp, and to let sophisticated
programmers use CL to write emacs lisp packages.  Programmers who
write applications such as GNUS, or programmers who want to avoid
problems such as these collisions could use Common Lisp packages.

Common Lisp has compilers that produce code as efficient as C, so that
indeed the whole emacs could be rewritten in CL instead of C+elisp.
And this would allow the practical use of other user languages (such
as JavaScript or Python) to program emacs, since they can be, and are
implemented more efficiently in CL than in emacs lisp.


                         +--------+-------------------------------+
                         | now    | in the future   ---->         |
+------------------------+--------+-------------------------------+
| user emacs code        | elisp  | elisp+CL+ejacs+clpython+...   |
+------------------------+--------+-------------------------------+
| emacs packages (modes) | elisp  | elisp+CL+ejacs+clpython+...   |
+------------------------+--------+-------------------------------+
| emacs editing library  | elisp  |      elisp  --->     CL       |
+------------------------+--------+-------------------------------+
| emacs primitives       |   C    |             CL                |
+------------------------+--------+-------------------------------+



-- 
__Pascal Bourguignon__                     http://www.informatimago.com/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]