From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Ergus Newsgroups: gmane.emacs.help Subject: Re: Why is Elisp slow? Date: Sun, 05 May 2019 02:43:43 +0200 Message-ID: References: <83muk4obfd.fsf@gnu.org> <20190502214006.4fdsinp7u5xuqvdv@Ergus> <20190503004416.xfuzzucflp6bxpuz@Ergus> <20190503103644.63lccjehmzulaojn@Ergus> <456EE4D4-F542-4F6A-B146-E6B9D72AE93B@icloud.com> <83tvebn1we.fsf@gnu.org> <20190503125832.44ovncaxp3vyjsla@Ergus> <20190504133218.g3ysx3ksuyvlthg3@Ergus> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="61577"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: K-9 Mail for Android To: help-gnu-emacs@gnu.org,Stefan Monnier Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun May 05 02:44:24 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hN5GS-000FvZ-0v for geh-help-gnu-emacs@m.gmane.org; Sun, 05 May 2019 02:44:24 +0200 Original-Received: from localhost ([127.0.0.1]:34581 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hN5GR-0006UH-1H for geh-help-gnu-emacs@m.gmane.org; Sat, 04 May 2019 20:44:23 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:47293) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hN5GD-0006U6-RT for help-gnu-emacs@gnu.org; Sat, 04 May 2019 20:44:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hN5GA-0006Jw-RM for help-gnu-emacs@gnu.org; Sat, 04 May 2019 20:44:09 -0400 Original-Received: from sonic306-21.consmr.mail.ir2.yahoo.com ([77.238.176.207]:37772) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hN5G7-0005yc-Pv for help-gnu-emacs@gnu.org; Sat, 04 May 2019 20:44:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1557017034; bh=0ac1vMfNEOPQXfy39PurBkGtCgzd6wUQoYylvOojIcg=; h=Date:In-Reply-To:References:Subject:To:From:From:Subject; b=mfXx/U1QsWFKFDqKvALS5jdcj3SvyvKVL3+h58ut4VScWOeyBOyoLuFBEEWBUbZT8XoobvOoEE6ya/hSPiq4Wto5WdyAUhMnf1XfsPUvCM4g3CNMyNgdwub65RzIGzSpcr9xIx5MWFr5/kT9/vvepJ2cj2qQOnSwKe6CMN2I2gTmGFNqTAhCM1cGObVLyiTd99CoC4xwsNlWU5CpIYHqlQeXWp7lS5KAJBR1lKeQGYHGFMjruIWk9bpVeyvrtubiZo9WzdY1GfwYZtVuLb+eDDEZHWd/g/z0QeorCFRWTk+RiO2525P5coCmZyHJfv4sKv4Gi+DD4WYw/XDZwaFcJg== X-YMail-OSG: hoFv1EsVM1nxa81nRSL0r28YwwhOfHvKCEvKChw_zg5Z2uyw7f4H5QE2nv7hGfc TkJ_RC_y9Nl3.YQhMjn9cTJshZ5zOJkt.tRo6yYSHA1ffRTaBjOv.nBmZGhImBBIialj130cC_yu s1.985Ma6D46uQQbDEwD7hbT_8LS98AJyr5vODXfSPUzOoUZ_oc8ykmoHuUko.6OVOd9y9ezfLBy dvOHAKZEPCnYfoKHsoI70CtfZ9JeU5tILvnelRsz31Fu3Khb_Aoa85mnMC.kn.uKQ_5dS9KkhQbh Y5QT8wGQY6fFhOseEwvsd28XgDdFQRXwmjR_y2oBOEW4yHQADFQ1tNMAWw2wKy7jMAHh2q2jmExn _McRS4L8xua4isBtm3iu8ScUAL.w.xXlD7iYNrB2z2cwOyx.AecE.3f_wzMlBbIlr7HsgnwgDynX xUG3WFGOLUu.sDBmEpnp53rImJaGirqJKghYgRJr9yG0gGlena2ehQm0Gy4r1Vl9OerG9vNlWUFC 3tq6mCuaZJSS0xnV89bfVhdZeETKZIblMxVh.oqd4JwuNOGvByEhkJ3U.O7OQbUz.F2M6GzGD0WA xkI6J0ndpRUJIpgA2JPdOUg0ec2MTQSrD4W9bstVcX0gQn3vQUJ_VA4nS3dz3CFNTtGqWa2u6rcl ns5K7rtyrrXbwJfeAzoF3vwUyeBIF8CUArKjvKQL9Dl83SAPf7VLPGzZ15X7pFbDlIMyMr9FZl4v MXQQMTE.1K85xZvkn0gIfKiNvo4OW.KqDxrbyvlkEEYpKpFkh5TJVWHJkJkXJUiSdr5SFUoQgist dNFutIXVZMvl4hu6fGUgOgjFkbs1cBIy3KGGYnQVJB Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.ir2.yahoo.com with HTTP; Sun, 5 May 2019 00:43:54 +0000 Original-Received: from 89.129.57.182 (EHLO [192.168.1.138]) ([89.129.57.182]) by smtp406.mail.ir2.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID b498d6b0a114b0af93973a2378fb6c7d; Sun, 05 May 2019 00:43:49 +0000 (UTC) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 77.238.176.207 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:120198 Archived-At: Hi Stefan: I mostly agree with you and I get your points but I have some comments abo= ut=2E On May 4, 2019 4:03:28 PM GMT+02:00, Stefan Monnier wrote: >> Inter-language interaction (which is one of the strong features in >> Guile out of the box) > >That's fairly abstract (details matter: e=2Eg=2E how are you going to use >macros like `define-minor-mode` from non-Elisp languages?)=2E=20 > >Also while I much prefer Scheme to Elisp (or Common-Lisp for that >matter), I'm not looking forward to maintaining Emacs packages in two >(and more) different languages, and other maintainers are probably >imagining such maintenance nightmare with a lot more dread than I=2E > >So again: what are the advantages? > I totally agree with the complexity of mixing languages; but if we look ar= ound it is very difficult to attract new users and developers if they need = to learn a new (old fashion) language only for Emacs (as I have been doing = the last months)=2E New programmers generations only know python and some C= -like languages but specially OOP and maybe is the moment to think a bit in= the future of the project more than in the past=2E Even if that implies ta= king some risks and make hard desitions=2E Just give a look how popular are= sublime text or athom, that compared to Emacs those are kid toys=2E So at some point it will be needed to make this desitions because the old = developers will not live forever=2E I see the beauty of Lisp, but I am talk= ing more about a human issue here, that is more critical for Emacs right no= w and for the future=2E >>From that point of view, moving Emacs to a Common-Lisp implementation >would make more sense, since there is a chance we can *replace* Elisp >with Common-Lisp in the long-run, rather than adding another language >on >the side=2E > IF we could do so (embed the CL compiler as a submodule within emacs) and = this can improve performance (while reduce the amount of code we need to ma= intain, and the number of field experts we need to reach and attract oursel= f) I'll totally support such desition=2E It is not THE solution we need but= it will reduce some of the important issues=2E And will make the project d= evelopment more dynamic and sutainable=2E But if we can't take such desitio= n right now is because we have few people to do the work and the new potent= ial users/developers live in a different world with python java rust lua C+= + Ruby but also saturated of cheaper (easier to use and that do work withou= t learning curve) alternatives like notepad++, visual studio code, geany, e= clipse, kdevelop=2E=2E=2E and so on=2E And some of them have put a lot of e= ffort in improving the editing capabilities, programming functionalities an= d ergonomy more than implementing a pdf reader or games withing the tool=2E= So they only do one thing but they do it right (or good enough for the use= r general needs) without initial configurations=2E For the developers it is also easier to join to those projects because the= y are hosted on Github/gitlab with a more familiar workflow and interface, = no copyright procedure, no mailing list=2E=2E=2E=2E and everything in the s= ame please and integrate with a fork based workflow=2E You can see where I'= m going right? I don't say that all this is better or worst than what we have, it is just= what the new generations understand, learn in the universities=2E Otherwis= e we are developing Emacs for us and the already existing users only=2E Ign= oring where is the programming world now and where it is going=2E >> and native compilation=2E > >That's irrelevant=2E I think you mean "efficiency" or something like >that=2E >But that presumes that Elisp-on-Guile is indeed more efficient than >Elisp-on-Emacs=2E Is there actual evidence that this is the case? > >Also "efficiency" is broad: there's the execution time of some >benchmarks, of course, but there's also the startup time, the VM size, >the heap size, the GC interruptions, the time to load a big package >(e=2Eg=2E org-mode), =2E=2E=2E > >Guile would hopefully win on some of those, but by how much? >And how much worse does it make the others? > >> Plus some people taking care of the compiler/interpreter/virtual >> machine parts and specialized in that specific section, which is good >> because we need manpower=2E > >AFAIC that's the main goal, indeed=2E > >But last I checked Guile didn't have much manpower either=2E And there's >a good chance that tracking Guile development (after switching to >Guile) Vicious circle no-projects-interested means no users with issues which mea= ns no potential developers=2E Any way I was talking about guile because it = was the official gnu language for extensions similar somehow to elisp and w= ith a full platform more or less ready to use without license issues=2E >will also require manpower on Emacs's side=2E So it's not clear that it >would turn out to be an advantage=2E > > > Stefan --=20 Enviado desde mi dispositivo Android con K-9 Mail=2E Por favor, disculpa m= i brevedad=2E