From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Emacs rewrite in a maintainable language Date: Tue, 13 Oct 2015 17:59:44 +0300 Message-ID: <83h9luzue7.fsf@gnu.org> References: <561A19AB.5060001@cumego.com> <87io6dl0h0.fsf@wanadoo.es> <87lhb82qxc.fsf@gmail.com> <87oag4jk74.fsf@wanadoo.es> <87k2qrki45.fsf@wanadoo.es> <11a21a29-f4e7-4c75-9c63-b55f535d6a91@default> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1444748998 30850 80.91.229.3 (13 Oct 2015 15:09:58 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 13 Oct 2015 15:09:58 +0000 (UTC) Cc: emacs-devel@gnu.org To: immerrr again Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Oct 13 17:09:52 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Zm1D5-0001lw-7G for ged-emacs-devel@m.gmane.org; Tue, 13 Oct 2015 17:09:51 +0200 Original-Received: from localhost ([::1]:36725 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zm1D4-0007kS-NP for ged-emacs-devel@m.gmane.org; Tue, 13 Oct 2015 11:09:50 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35409) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zm13V-0003JK-Bt for emacs-devel@gnu.org; Tue, 13 Oct 2015 10:59:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zm13R-0003AM-Fq for emacs-devel@gnu.org; Tue, 13 Oct 2015 10:59:57 -0400 Original-Received: from mtaout23.012.net.il ([80.179.55.175]:36464) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zm13R-0003A0-0z for emacs-devel@gnu.org; Tue, 13 Oct 2015 10:59:53 -0400 Original-Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NW500I00YPIXB00@a-mtaout23.012.net.il> for emacs-devel@gnu.org; Tue, 13 Oct 2015 17:59:30 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([84.94.185.246]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NW500IMUYZ6UN50@a-mtaout23.012.net.il>; Tue, 13 Oct 2015 17:59:30 +0300 (IDT) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.175 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:191469 Archived-At: > Date: Tue, 13 Oct 2015 09:00:15 +0300 > From: immerrr again > > A wild idea would be to try rewriting the Emacs Lisp interpreter in > RPython [1]. It is a "framework for writing dynamic language > interpreters" and is used for implementing pypy [2] and pixie [3] > (which is a Lisp dialect). It accepts interpreter code in a subset of > Python, which is still quite high-level, that can be translated to C > using GCC as a backend. It comes with interpreter-related goodies, > like FFI, several implementations of GC, code flow analyzers and an > implementation of a tracing JIT. I would guess it would help with > performance a bit. The interpreter code proper is about 16K lines of C out of the grand total of more than 320K, i.e. just 5%. The rest is implementation of primitives and Lisp objects + support code, and the display engine.