From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.help Subject: Re: Why is Elisp slow? Date: Sun, 05 May 2019 11:50:16 -0400 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> <831BD780-F954-4E23-BF31-ED4E135C919B@icloud.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="119684"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun May 05 17:51:35 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 1hNJQM-000V2F-Up for geh-help-gnu-emacs@m.gmane.org; Sun, 05 May 2019 17:51:35 +0200 Original-Received: from localhost ([127.0.0.1]:42817 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNJQM-0001hp-0U for geh-help-gnu-emacs@m.gmane.org; Sun, 05 May 2019 11:51:34 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:49602) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNJPH-00011N-TO for help-gnu-emacs@gnu.org; Sun, 05 May 2019 11:50:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hNJPF-0003j6-FA for help-gnu-emacs@gnu.org; Sun, 05 May 2019 11:50:27 -0400 Original-Received: from [195.159.176.226] (port=34992 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hNJPF-0003iL-7X for help-gnu-emacs@gnu.org; Sun, 05 May 2019 11:50:25 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1hNJPD-000TpS-Or for help-gnu-emacs@gnu.org; Sun, 05 May 2019 17:50:23 +0200 X-Injected-Via-Gmane: http://gmane.org/ Cancel-Lock: sha1:f0dNCkcV/Y7Vw9/Ds+W8vZ6jzmE= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 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:120210 Archived-At: > The more I think about Guile Emacs and the Guile project itself, I start to > think that it’s not a problem of manpower, but something more > fundamental. Quite right. > Is it feasible (or even possible) to make two different high > level languages to interoperate in the engine level?̊̈ Language interoperation is very difficult, and even more so if you want both languages to be usable "equally" (as opposed to a high-level language with FFI bindings, say). The .NET platform aims to do just that, and note that it's fairly complex and the most successful languages there were specifically designed/tweaked for that platform. > For example, will it even make sense to have some Elisp macros in scheme Interoperation between "similar" languages like Elisp and Scheme can probably be made to be tolerable (e.g. I guess most Emacs-specific special forms of Elisp, such as `save-excursion`, could be provided on the Scheme side without too much trouble (famous last words)), but macros seem pretty hard to handle in general (i.e. will require manual work on a macro-by-macro case). > land, or even lua land, python land, JS land?̊̈ For these, macros aren't the only problem, since there's also the problem of the different kinds of datatypes used. What would JS objects look like in Elisp, and what would Elisp objects look like in JS? > I would like a JSish API for emacs when writing packages, not a low > level wrapper around Elisp APIs. Indeed. > What would I do to use a Python module in JS?̊̈ Unless the language itself is > designed to be easily interoperable with elisp by superseding concepts (such > as Clojure superseding Java), I’m pretty sure many people won’t be satisfied > in any kind of implementation. Exactly. Stefan