From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.help Subject: Re: Is Elisp really that slow? Date: Fri, 17 May 2019 09:41:42 +0300 Message-ID: <83v9y9bn15.fsf@gnu.org> References: <20190502214006.4fdsinp7u5xuqvdv@Ergus> <864l61j04d.fsf@zoho.eu> <20190511073254.GB29829@tuxteam.de> <04187AB9-AD7D-492D-A890-BCB01848370C@icloud.com> <20190511075712.GD29829@tuxteam.de> <86a7fsfv1m.fsf@zoho.eu> <20190512075448.GA11650@tuxteam.de> <346107E9-590D-4A18-9152-ECFF36FC4EDC@icloud.com> <83r293bvok.fsf@gnu.org> <87ef53vihw.fsf@telefonica.net> <83mujrbsk7.fsf@gnu.org> <867eavywh1.fsf@zoho.eu> <837eaubesw.fsf@gnu.org> <86lfzawgb2.fsf@zoho.eu> <83y33a9y10.fsf@gnu.org> <868sv9w8t4.fsf@zoho.eu> <83ef519fdb.fsf@gnu.org> <86a7fpufu6.fsf@zoho.eu> <83bm04anyk.fsf@gnu.org> <86v9yct0t8.fsf@zoho.eu> <83y33793e8.fsf@gnu.org> <86imuaq969.fsf@zoho.eu> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="2551"; mail-complaints-to="usenet@blaine.gmane.org" To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri May 17 08:42:12 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 1hRWZI-0000Xb-7E for geh-help-gnu-emacs@m.gmane.org; Fri, 17 May 2019 08:42:12 +0200 Original-Received: from localhost ([127.0.0.1]:43294 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRWZG-0004zb-M6 for geh-help-gnu-emacs@m.gmane.org; Fri, 17 May 2019 02:42:10 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:43854) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRWYx-0004yY-Fh for help-gnu-emacs@gnu.org; Fri, 17 May 2019 02:41:52 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:37032) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRWYx-0004z5-D4 for help-gnu-emacs@gnu.org; Fri, 17 May 2019 02:41:51 -0400 Original-Received: from [176.228.60.248] (port=1430 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hRWYw-00014I-Rv for help-gnu-emacs@gnu.org; Fri, 17 May 2019 02:41:51 -0400 In-reply-to: <86imuaq969.fsf@zoho.eu> (message from Emanuel Berg on Fri, 17 May 2019 01:19:42 +0200) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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:120458 Archived-At: > From: Emanuel Berg > Date: Fri, 17 May 2019 01:19:42 +0200 > > By refactoring, here, I take it you mean > a program that is parsing the code, analyzing > it, and breaking it up, to have neat building > blocks instead of huge functions, but with the > same functionality, and all this without or > with little human intervention? Refactoring is a large topic. I suggest to do some Internet search for something like "tools for refactoring programs". One of the hits will be this 10-year old paper, which shows some of what I meant in practice: https://pdfs.semanticscholar.org/ce71/00df509f37e4d1c1fc9fa50f2b98ba035ae8.pdf > Well, that sounds... advanced! So this is > something modern IDEs do? :O Some of them, yes. A good IDE should support at least some of that. > To have that for all our programming modes > sounds like a enormous challenge! The simplest parts can be based on only rudimentary analysis of the language, something that we already have in every supported language. > The only way I can see it work in practice is > if the refactoring logic could be separated and > be the same for all languages, so one would > just have to have parsing language-specific and > then hook it to the refactoring engine... Yes.