From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Emacs rewrite in a maintainable language Date: Mon, 12 Oct 2015 09:14:21 +0200 Message-ID: <87twpwblte.fsf@fencepost.gnu.org> References: <561A19AB.5060001@cumego.com> <87io6dl0h0.fsf@wanadoo.es> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1444634332 4672 80.91.229.3 (12 Oct 2015 07:18:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 12 Oct 2015 07:18:52 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Oct 12 09:18:48 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 1ZlXNb-00011K-WD for ged-emacs-devel@m.gmane.org; Mon, 12 Oct 2015 09:18:44 +0200 Original-Received: from localhost ([::1]:53100 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlXNb-0001TE-Tk for ged-emacs-devel@m.gmane.org; Mon, 12 Oct 2015 03:18:43 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48744) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlXNL-0001ST-QM for emacs-devel@gnu.org; Mon, 12 Oct 2015 03:18:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZlXNK-0001ek-KK for emacs-devel@gnu.org; Mon, 12 Oct 2015 03:18:27 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:60859) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlXNK-0001eg-Hd for emacs-devel@gnu.org; Mon, 12 Oct 2015 03:18:26 -0400 Original-Received: from localhost ([127.0.0.1]:46445 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.82) (envelope-from ) id 1ZlXNJ-000762-Qh for emacs-devel@gnu.org; Mon, 12 Oct 2015 03:18:26 -0400 Original-Received: by lola (Postfix, from userid 1000) id 12FA7DF3DF; Mon, 12 Oct 2015 09:14:21 +0200 (CEST) In-Reply-To: (John Wiegley's message of "Sun, 11 Oct 2015 14:52:14 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e 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:191303 Archived-At: "John Wiegley" writes: >>>>>> =D3scar Fuentes writes: > >> In large part because that reason, there are key are parts of the C core >> that are only understood by one active hacker (being optimistic here). T= his >> is a huge liability for Emacs. I don't know how this fact fits the "C is >> working for us" stance. > > Of all the languages I know, I can't think of one that gives us > everything we need: stability, performance, portability, a large > potential contributor base (people who know C can learn the macro > system Emacs uses), debugging tools, etc. Lua is an impressive little and powerful language. But you would not want to build a Lisp-based system around it since Lisp's fundamental data structure is the list, and Lua's fundamental data structure is the table. For writing something akin to Emacs from scratch, I'd consider it a very nice choice. And its program syntax fits on a single DIN-A5 page in the Reference Manual. Now the thing people don't like about languages in the Lisp family is the program syntax. Which is sort of missing the point because Lisp does not even have one. It has a reader syntax (which is more of a lexer than a parser) with a focus on lists, and you directly enter the parse tree. Which is akin to assembly language programming at the syntactical rather than the code level (well, "car" does stand for "contents of address register"), making Lisp a fun little system for goofing around with the compiler. Which is not really all that important in the context of an editor. But with the current code base in place, anything leaving Lisp behind is going to leave Emacs behind and thus is going to be a different project. --=20 David Kastrup