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: Mon, 6 May 2019 18:17:57 +0200 Message-ID: <20190506161757.wg4wy3vr7emxnciv@Ergus> References: <83tvebn1we.fsf@gnu.org> <20190503125832.44ovncaxp3vyjsla@Ergus> <20190504133218.g3ysx3ksuyvlthg3@Ergus> <831BD780-F954-4E23-BF31-ED4E135C919B@icloud.com> <20190506125848.okei2qrib7m5p3vx@Ergus> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="221740"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: NeoMutt/20180716 Cc: help-gnu-emacs@gnu.org To: Stefan Monnier Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon May 06 18:18:31 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 1hNgJy-000vZA-DD for geh-help-gnu-emacs@m.gmane.org; Mon, 06 May 2019 18:18:30 +0200 Original-Received: from localhost ([127.0.0.1]:59035 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNgJx-00009q-BL for geh-help-gnu-emacs@m.gmane.org; Mon, 06 May 2019 12:18:29 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:47363) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNgJa-000083-BU for help-gnu-emacs@gnu.org; Mon, 06 May 2019 12:18:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hNgJZ-0001eC-BL for help-gnu-emacs@gnu.org; Mon, 06 May 2019 12:18:06 -0400 Original-Received: from sonic310-11.consmr.mail.ir2.yahoo.com ([77.238.177.32]:38104) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hNgJY-0001dP-GJ for help-gnu-emacs@gnu.org; Mon, 06 May 2019 12:18:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1557159482; bh=nhtm/4ip22fQ5ftCeQrbkIY+bOWCIkDD+NmTiLCtr3s=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From:Subject; b=KOP4xTdNRefxivSuTF9nQ5UxyTZCDzLlJp5JVw3ypd+6mvzNHU2tE1zuHmLi2IcfYxFwA9TXIt0uJaUwGcm7mNM64QFn8u8VKEKymzeQfiQf+wyiFuuaQySKN36P7fygKEigG1C9ZyytKcmzo7trldn6MXiaCZEnHV0wXFQDj3aVAXJk+bKRdDKC436YL8t8GslYxES7jogke6/lJb1a6FkCFQjOM1FiTah6zkov2KegbcIymYbQZ3SqML66QNWFq/RVwU12ZIw7pJddcN8ZVNMlYppgwSzqki6YpmHci0CZ0o+TPhmf7PEWV8L02JjH+I/AGF62Zmj8rnl7vMSI6A== X-YMail-OSG: LstIlu0VM1mEBCWdhaJQlge_3_zPgtFuQB_.C3Pm5wduvWi1NxkmoFZMFJu41Oq zsuLe4w8TxzMgjfhiL2.zughkkW3GfQMda_XZjSc3563ZLv_BshO4TQP.cmehWHM98HG01YkSQC9 AK0R5eNsDZ6LKS6Ab5FPKOa1wrtCYEQuheLniK6Z7M.EgA6w41trikG3TF1onOZr9Gds4T48IsvD LTl3L4Y9eaNwVWAey_bmBrcKc2RrmaJ1tVcf.LrFAct27tvxfDOaWMv2YYNZqstuWdiFB5I86F0s QNYXbJMEmru_w2QsHQaGPICL.wYLd4X3WeEGId5IVLa8TONzOu783adWGHJGega7145n79cDC6w. MWI67dSQNNGXSs_JcG_cDsGiFegHW7C_9sP7Ndx6jR4ihsGurEMsA0wrd.oKEnqSA4UwT1gJhRng VkaAAlRW_Ksh3.tQy4caBWnlgYsbPB1wVzRSqfm4K6zgqITAtdxuF1PF7BhxZxPUK6WvhD9PXYg2 1YCHLZBBKjViDucOq6eM.pt0rg.OHLEgkmCw0GfeGngmuBu8_K5c1IxEPevc1I.QlDrlzgRxPCwP XUfmKWm3lK5XIkduif.TogW4Hx7v7OiTE.G25tI8BFzfcrPwxPPM4fLaXozZGGBRVEewv7o7F2pp 2eK5xocyPWJzQxvjCJ4C76j71BR7BXnpPjGnDztfZqqnCBZioLrJe_Xr8S.8zs7TPcg.gN23v0cg wte6nGHoV3sriAwdevebbZrnnTQUHHDluozsiRsGF08wPYCI4IPaL_V1gqu4uAVPRaxwnJKSLoZr iWxhcgu5Tugx0Y7aVTaikmZ9RghuI1ejJGa_GgIn51 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.ir2.yahoo.com with HTTP; Mon, 6 May 2019 16:18:02 +0000 Original-Received: from 84.88.50.33 (EHLO Ergus) ([84.88.50.33]) by smtp406.mail.ir2.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 5c9c98d300357c85e90bf1588fdd9d4f; Mon, 06 May 2019 16:18:01 +0000 (UTC) Content-Disposition: inline In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 77.238.177.32 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:120230 Archived-At: On Mon, May 06, 2019 at 09:08:03AM -0400, Stefan Monnier wrote: >> That's what vim did and they now support many languages for extending >> and create plugins. (I know it is a different system and I am not saying >> we have to move in that direction right now.) > >Yes, it's a very different design. Elisp was designed to be the >*implementation* language of Emacs (the use of C for some of the >implementation was a necessary evil given the lack of wide availability >of Lisp), rather than just an *extension* language. > > > Stefan > Yes, but then we need to put much more emphasis (and work) improving and keep good performance in the compiler (which is a much more complex task than maintaining the editor, and where very few changes are made these days). Apply the new tools and techniques in compiler sciences and so on requires a very high level of expertise. OR consider migrate to something else that someone else maintain like SBCL or whatever the managers consider better. (I know that only this proposal will open a sacred war (as it did before (but the problems are the same)) but being sincere is more valuable than being politically correct to have progress) Because many editors around can already do what emacs do (edit text, be extensible, free, and portable), but they have faster interpreter and language, better (more familiar or standardized) keybindings, bigger communities, simpler (in spite of more limited or not) customization and simpler code or "more pretty/intuitive" UI. Lisp was the right option 40 years ago because it was probably the most dynamic language and easier to understand than C for the computer users that time. But now there are more dynamic and capable languages. And a language interpreter is not so easy to maintain for a formal/big project like emacs. Summing up. In Spanish we say that whoever takes a lot of space, the less he tightens up (bad translation: Quien mucho abarca poco aprieta). IN MY OPINION, we should put more attention in the emacs editing capabilities/functionalities/interface and rely the compiling functionalities to a compiler we can (with limitations of course) trust. Even if that means remove the E letter from our language. But after that big change any compiler released in future will be easier to use as a module and we could even give the option to the user to chose. (I know this sounds a bit heretic) but being a bit more DOTADIW will be more scalable and maintainable now and in the future. And we can center the manpower in update the gui, optimizations, cleanup old/unused/unmaintained code, solve bugreports, standardize keybindings and so on.