From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?B?7KGw7ISx67mI?= Newsgroups: gmane.emacs.help Subject: Re: Why is Elisp slow? Date: Mon, 6 May 2019 18:03:20 +0900 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 (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="200080"; mail-complaints-to="usenet@blaine.gmane.org" Cc: help-gnu-emacs@gnu.org, Stefan Monnier To: Tadeus Prastowo Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon May 06 11:03:42 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 1hNZXB-000pxf-VL for geh-help-gnu-emacs@m.gmane.org; Mon, 06 May 2019 11:03:42 +0200 Original-Received: from localhost ([127.0.0.1]:53129 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNZXA-0007hb-Ux for geh-help-gnu-emacs@m.gmane.org; Mon, 06 May 2019 05:03:40 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:60779) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNZWx-0007hT-Dg for help-gnu-emacs@gnu.org; Mon, 06 May 2019 05:03:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hNZWw-0005uW-FD for help-gnu-emacs@gnu.org; Mon, 06 May 2019 05:03:27 -0400 Original-Received: from pv50p00im-ztdg10012101.me.com ([17.58.6.49]:53430) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hNZWw-0005u4-5p for help-gnu-emacs@gnu.org; Mon, 06 May 2019 05:03:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=04042017; t=1557133404; bh=1/ZFeoabNGmhsJnrdCKDbsBUSXnwlmWZx+NIK0+istg=; h=Content-Type:Mime-Version:Subject:From:Date:Message-Id:To; b=MBjM6SR/M1eW4FM6j2lAnyi2VvdOSj4nCo8e6P33bavDwNP/PTt0zyYnwTmSXjOBv tpFXVLgBk8l5oBE4a/EbcwflRyXuRJXubsxbSrs3OVuEdSwgwvoef6+9QkbNeIGV// Zq/wvY/+8mHQuKcP0rdhyDahGBOZ815XCwOa05PA0RKLR+5iYEzR4VKlQjUvWreOvs ItWFmY3ySpRa9xcXas9iZQblc2ULut4YE+QuLh8i82y5rOqKVOE0VKdCRIIG1YXtbO +0sd6Ijq81yqlt5XnXvJrTBB3WX+pT1lpDS5/1Je83ecIIgdjWgUIXruB035NP5L0r gzdy5v7KLMuxw== Original-Received: from [172.30.1.5] (unknown [211.192.227.198]) by pv50p00im-ztdg10012101.me.com (Postfix) with ESMTPSA id 4A7308406E6; Mon, 6 May 2019 09:03:24 +0000 (UTC) X-Mailer: iPhone Mail (16E227) In-Reply-To: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-05-06_06:, , signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 mlxscore=0 mlxlogscore=869 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1812120000 definitions=main-1905060080 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 17.58.6.49 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:120221 Archived-At: =EB=82=98=EC=9D=98 iPhone=EC=97=90=EC=84=9C =EB=B3=B4=EB=83=84 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. >=20 > 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 idiomati= c in the language=E2=80=99. For example, some APIs (in general) makes sense when they use C++ templates o= r Rust `impl` blocks; it doesn=E2=80=99t make sense to enforce type unsafety= . Some APIs makes sense when they are provided as Lisp macros or babel macros;= 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 Rust= ? It=E2=80=99s a real pain, because the interfacing code can=E2=80=99t use a= ny of the language features as they should be defined by their common domina= tors: the SysV ABI. You can=E2=80=99t use generics, tuples, lambdas, etc... even though both lan= guages have them. It=E2=80=99s well, a somewhat similar experience. > Thank you very much. >=20 >> Stefan >=20 > --=20 > Best regards, > Tadeus >=20