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, 19 Oct 2015 13:24:31 +0200 Message-ID: <87oafvje34.fsf@fencepost.gnu.org> References: <561A19AB.5060001@cumego.com> <87d1weo7u9.fsf@gnu.org> <83zizi3qr0.fsf@gnu.org> <87lhb1n81y.fsf@gnu.org> <83si594wt3.fsf@gnu.org> <87io64iigs.fsf@gnu.org> <87r3kso1gr.fsf@fencepost.gnu.org> <87wpuks5ek.fsf@T420.taylan> <83vba4i1z3.fsf@gnu.org> <87pp0cqgjf.fsf@T420.taylan> <83twpoi0sp.fsf@gnu.org> <878u70qf75.fsf@T420.taylan> <83mvvghydi.fsf@gnu.org> <5623E3B5.8050407@dancol.org> <87y4f0kos9.fsf@fencepost.gnu.org> <5623EAB2.5000008@dancol.org> <87pp0cotqd.fsf@T420.taylan> <5623F7E2.3010200@dancol.org> <87d1wbp9uv.fsf@T420.taylan> <22052.51982.9833.353851@turnbull.sk.tsukuba.ac.jp> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1445253915 7522 80.91.229.3 (19 Oct 2015 11:25:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 19 Oct 2015 11:25:15 +0000 (UTC) Cc: Taylan Ulrich =?utf-8?B?QmF5xLFybMSx?= /Kammer , Daniel Colascione , emacs-devel@gnu.org To: "Stephen J. Turnbull" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Oct 19 13:25:01 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 1Zo8Ym-0005Hx-FE for ged-emacs-devel@m.gmane.org; Mon, 19 Oct 2015 13:25:00 +0200 Original-Received: from localhost ([::1]:38347 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zo8Yl-0005Om-KY for ged-emacs-devel@m.gmane.org; Mon, 19 Oct 2015 07:24:59 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46056) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zo8YX-0005O2-Ka for emacs-devel@gnu.org; Mon, 19 Oct 2015 07:24:46 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zo8YT-0002Z9-FZ for emacs-devel@gnu.org; Mon, 19 Oct 2015 07:24:45 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37681) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zo8YK-0002Xi-Iy; Mon, 19 Oct 2015 07:24:32 -0400 Original-Received: from localhost ([127.0.0.1]:51499 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.82) (envelope-from ) id 1Zo8YJ-0002yx-RX; Mon, 19 Oct 2015 07:24:32 -0400 Original-Received: by lola (Postfix, from userid 1000) id 61F0ADF46D; Mon, 19 Oct 2015 13:24:31 +0200 (CEST) In-Reply-To: <22052.51982.9833.353851@turnbull.sk.tsukuba.ac.jp> (Stephen J. Turnbull's message of "Mon, 19 Oct 2015 19:50:53 +0900") 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:192073 Archived-At: "Stephen J. Turnbull" writes: > Taylan Ulrich Bay=C4=B1rl=C4=B1/Kammer writes: > > I've heard bad things about both defstruct and EIEIO for different > > reasons. The fact that most Elisp code is shy of using even defstruct > > should tell us something. > > It does. It tells us that RMS doesn't like abstract data types. > AFAICT there's little inherent problem with defstruct from cl-macs (or > cl-lib, I forget which), it's just a matter of style preference > (originally rooted in the claim that cl.el was just syntactic sugar so > it was a waste of pure space on small machines to require it). > > > >> an FFI > > > > > > We're getting modules separately. > >=20 > > I'm not sure if that's comparable to an FFI. > > Does Guile's FFI refuse to load code if it doesn't call the I-swear- > I'm-GPLed function? That's another requirement for an FFI/module > system in Emacs, at least for the present. My personal opinion is that It's unlikely to survive into GuileEmacs for mostly technical reasons. The best one could do is make it stick when a module calls Emacs-specific functionality. But if it uses the general GUILE stuff (namely could be called from a standard GUILE interpreter), Emacs cannot really make a licensing claim that sticks. > I'm not panicking. GuileEmacs has zero attraction for me *personally* > because on the one hand its advocates admit it still needs work. On > the other none of its claimed advantages excite *me* one bit. I like arbitrary precision integers and rationals and the whole numeric stack. I also like the availability of applications and libraries that have not been written specifically for Emacs: replacing much of the backend behind Emacs Calc with native Jacal would be an interesting feat, and there are a number of other pathways opening up. > If we can really rewrite all of Emacs with the exception of device > drivers in Guile, then I'd definitely be excited (I think that's what > Tom Tromey is talking about). But I don't think that effort is likely > to succeed in providing an efficient Emacs at all soon, although it > might provide an efficient Emacs Lisp. So we would end up with three > implementation languages required to understand important (generic) > components of Emacs. Specifically I suppose that redisplay is likely > to remain in C for a long time. I don't think that's a win, > especially with the e^i mental twist required when moving between > Scheme code and Lisp code. Well, it would move the worlds of SCSH and Scwm closer to Emacs. Eshell never took off, partly because of being severely underdocumented, partly (related) because of being a one-person project. Run Scsh inside of Emacs and things may become interesting. Elisp is not used for creating scripts to any serious degree, the existence of rep notwithstanding (show of hands: which Emacs developer ever worked with rep or even knows it?). GUILE can (and will) be used for scripting. So for GNU integration and desktop cohesion, this may be a strategical step. It also muddies the application boundaries when Scheme applications gain enough glue to integrate nicely into Emacs and that's something that makes the GPL stickier again. So I do see longterm goals and strategies that could be opened by a good integration of GUILE as a core part of Emacs. The most relevant obstacle _will_ be to overcome the "don't mess with my project" stance in both Emacs and GUILE from people that have come to like the respective culture and environment of the isolated projects. --=20 David Kastrup