From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: pjb@informatimago.com (Pascal J. Bourguignon) Newsgroups: gmane.emacs.help Subject: Re: About Emacs Modernisation Project Date: Wed, 02 Jun 2010 01:36:36 +0200 Organization: Informatimago Message-ID: <87typmtjej.fsf@kuiper.lan.informatimago.com> References: <143c6d28-4423-4e43-9fc5-c0fb3340043b@c11g2000vbe.googlegroups.com> <87ljazofkn.fsf@rapttech.com.au> <04eff456-349f-4840-b0f7-d1784f6b7058@d12g2000vbr.googlegroups.com> <87r5krh3e0.fsf@unm.edu> <87mxvegz12.fsf@unm.edu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1291826223 14832 80.91.229.12 (8 Dec 2010 16:37:03 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 8 Dec 2010 16:37:03 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Dec 08 17:36:57 2010 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PQN0h-0003Gn-S5 for geh-help-gnu-emacs@m.gmane.org; Wed, 08 Dec 2010 17:36:56 +0100 Original-Received: from localhost ([127.0.0.1]:41818 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PQN0h-0002Es-7l for geh-help-gnu-emacs@m.gmane.org; Wed, 08 Dec 2010 11:36:55 -0500 Original-Path: usenet.stanford.edu!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 44 Original-X-Trace: individual.net 9BPpz5C06/Y3QBNuaK5BLAu2Hj5HDo5wZ0iD+RpzCiJGf6AglR Cancel-Lock: sha1:ODg2OWU5YTlkZmZhMGEzNzMwMzkyMGU5YjRhMzI5ZmQxMTdiOTIyNA== sha1:0MssgGMMbPGHN7hSAVlQbsFeFak= Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9 033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR mV+hO/VvFAAAAABJRU5ErkJggg== X-Accept-Language: fr, es, en X-Disabled: X-No-Archive: no Importance: high User-Agent: Gnus/5.101 (Gnus v5.10.10) Emacs/23.1 (gnu/linux) Original-Xref: usenet.stanford.edu gnu.emacs.help:178548 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:75624 Archived-At: Evans Winner 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/