From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Tadeus Prastowo Newsgroups: gmane.emacs.help Subject: Re: Why is Elisp slow? Date: Mon, 6 May 2019 12:51: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> <831BD780-F954-4E23-BF31-ED4E135C919B@icloud.com> 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="119753"; mail-complaints-to="usenet@blaine.gmane.org" Cc: help-gnu-emacs@gnu.org, Stefan Monnier To: =?UTF-8?B?7KGw7ISx67mI?= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon May 06 12:52:21 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 1hNbEK-000V39-Qy for geh-help-gnu-emacs@m.gmane.org; Mon, 06 May 2019 12:52:21 +0200 Original-Received: from localhost ([127.0.0.1]:54283 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNbEJ-0005bW-SK for geh-help-gnu-emacs@m.gmane.org; Mon, 06 May 2019 06:52:19 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:57028) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNbE4-0005bD-MX for help-gnu-emacs@gnu.org; Mon, 06 May 2019 06:52:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hNbE2-0008Gb-Ca for help-gnu-emacs@gnu.org; Mon, 06 May 2019 06:52:04 -0400 Original-Received: from mail-io1-xd35.google.com ([2607:f8b0:4864:20::d35]:34013) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hNbDy-0008Dw-MK for help-gnu-emacs@gnu.org; Mon, 06 May 2019 06:52:00 -0400 Original-Received: by mail-io1-xd35.google.com with SMTP id g84so2712339ioa.1 for ; Mon, 06 May 2019 03:51:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unitn.it; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=+cBYNe7x6FYwGQ52U0iREgSNRxpk9o5hQy0YpR2G4SI=; b=RKdfBxrY7c7DuHQ1IECjaPa7XT2t4ORV3DMJyFN6a6sCTS0LxhFx+W36A11zl4M8X8 dpAwfYj2s9q3lUQ8jEakwpP5AQzqPKAncNsTvgyEnH5WAZnk9fiEtQWPjLRYb0I8ZvnB 3y52zg4mQN+OyJWs2Cs/sxR8DlFHgehLn8XA0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=+cBYNe7x6FYwGQ52U0iREgSNRxpk9o5hQy0YpR2G4SI=; b=Wh8UHSNnsuUbERleHuWjX0ONjabs86HfBugvl9LMkMO838rX/KWRZO+ZqhHtsEO1pr d5/1oDFaNAYpMO4mUprB6rqd6Ob0gaFKFmu/u1fPzMw070e/fYC5dWYMJ9xXzE1OuWuq CMUN7eqShsKiMSMcZx/Mxv7qfG7Nh+aVJhQdY5rtMkhFrwopI8448dVyYBHZ2BZ4aYVx 9u3xsBJR/PPWf/K2zFq1/znO1p80K7KcZvbaovkySFD7sfs3qYwxuU87kI0OF/UNecw8 XFW1/Q0Xf+DZEBgSfrXQzBINEiOAKuUrh+l2HvP93WalMgMrQWm2skDvoH8+hGyNJUtp EViw== X-Gm-Message-State: APjAAAVEYhh7XfO3P0KMUqK0dapS5W0kiAV1UZY7nNNTpWDh/rt18Bf8 rc+s2DKNDWxAWOA/kohI4VZCruu/CfPLvt66QGgs X-Google-Smtp-Source: APXvYqxEtZIkWDHc6PrwRgY7+4K2wQ0Nqrj9Tdh1cCS32fziIL4Hxn/iEUROuOqPZHwfF78fKF1EbgnHLsZe+3Suygs= X-Received: by 2002:a5d:8e19:: with SMTP id e25mr15968596iod.139.1557139915512; Mon, 06 May 2019 03:51:55 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::d35 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:120224 Archived-At: On Mon, May 6, 2019 at 11:03 AM =EC=A1=B0=EC=84=B1=EB=B9=88 wrote: > > 2019. 5. 6. =EC=98=A4=ED=9B=84 4:33, Tadeus Prastowo =EC=9E=91=EC=84=B1: > > > On Sun, May 5, 2019 at 5:51 PM Stefan Monnier > > wrote:> 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. > > > > Out of curiosity, do you mind to elaborate on how it is to be usable > > "equally"? (I think the best way to understand it is by studying the > > .NET platform, but maybe you could explain it better). > > I would say as =E2=80=98to do something in a way that is considered idiom= atic in the language=E2=80=99. > For example, some APIs (in general) makes sense when they use C++ templat= es or Rust `impl` blocks; it doesn=E2=80=99t make sense to enforce type uns= afety. > Some APIs makes sense when they are provided as Lisp macros or babel macr= os; it doesn=E2=80=99t make sense to enforce boilerplate code. > > Have you ever done FFI between two high level languages, e.g. Swift and R= ust? It=E2=80=99s a real pain, because the interfacing code can=E2=80=99t u= se any of the language features as they should be defined by their common d= ominators: the SysV ABI. > You can=E2=80=99t use generics, tuples, lambdas, etc... even though both = languages have them. > > It=E2=80=99s well, a somewhat similar experience. Okay, I got it now. In that case, the difficulty of using both languages "equally" is a natural problem that is found also in, for example, the English vs. Chinese vs. other natural language vocabulary mismatches. Thank you very much for taking the time to explain the things through. --=20 Best regards, Tadeus