From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: Consideration for Rust contributions in Emacs Date: Tue, 24 Jan 2023 07:52:42 +0800 Message-ID: <2C8C5514-92D6-4E82-8F6C-2551E65F91B8@yahoo.com> References: <878rhuc79x.fsf@gmail.com> <66c86c61-93ac-4723-81a4-ced034f61550@Spark> <87zga9tln8.fsf@web.de> <83cz75i3iu.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34152"; mail-complaints-to="usenet@ciao.gmane.io" Cc: arne_bab@web.de, comms@dabrev.com, allred.sean@gmail.com To: emacs-devel@gnu.org, John Yates , Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jan 24 00:52:24 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pK6bv-0008fn-VT for ged-emacs-devel@m.gmane-mx.org; Tue, 24 Jan 2023 00:52:24 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pK6bC-0004NK-4N; Mon, 23 Jan 2023 18:51:38 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pK6bA-0004N0-R7 for emacs-devel@gnu.org; Mon, 23 Jan 2023 18:51:36 -0500 Original-Received: from sonic316-21.consmr.mail.ne1.yahoo.com ([66.163.187.147]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pK6b8-0000Fn-DT for emacs-devel@gnu.org; Mon, 23 Jan 2023 18:51:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1674517892; bh=N70NmdPZeVKR/fk93qLjVA7Uvn0K2zg4DxRv4trqlN0=; h=Date:From:To:CC:Subject:In-Reply-To:References:From:Subject:Reply-To; b=Mse0DVtQZfq+HmI2Z5SSPZBw0JafNwrTH9Kd1XVpeiqEb9hZjwAWPPQ/LS8Tc8zCDgsWhwmjVzMBkawA8UX09nlcG2ciGSNlgSpl56D98JxS3vOFyr8XNgG7gHdQ51bPCIb8MJWUaE+wf3lmFFY2EzoM9LUkTVTLIVY08TVnsJx7UXLPrG6206aIOJGU8snCqqI8FvdI0DWD+gBCPg5eZZ93s4o8yPjHZTYWwT2CgOInxQxD9goMs/4VBrBo2a32Xlyo/+wlA4hPoG1G1S6/zzeLsTQcLBjRKZgS/Er/h7vfz2rPLlRE9CzIeKHXnQe5LSQ+jW9sXMjJIyhkMKesXA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1674517892; bh=qa4z0/Q3gwBGlyTSDl9NRVsxWxItnLZlEskCujZg4NZ=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=EB1ADa0gNRMbwJ+drDRvvbskEGvIbaldQKBSwxG71Vq9qJv/OoNd2Mk7xAqD4h6GFdTxcxAv7eRPNufUZsCa5AXNxVojAvaPHY2wt2Dg3IhLyc947MmH4HPjfrTMI31w2cVuqq0FJvqSRz2LLpVMrABzhlNDhYylHfjdRD79TmF06r/g316DiMF/jYYv8VdDTSXP14py3+dkUbK+1oA+vsga2/VrailK34tWILNwgEGMJcgSPo3sPZXZEhagQrK7QSaKlWKF/Q30A9stEXB+2IHiqndtALAxk062lM0HnWxj6Ji1ZyxRxOWXR8bijHubjBsseNlo/cO77Cw8OXUL/A== X-YMail-OSG: tKpWDkgVM1mZ0p6P5qIGGpUVq3i2PO94Nj3HDM0wi54IqOBkCopbONk5jo1tCQz tg0RQqJi3Z1Ulb3yN5xfBivw4BSoLFkyoDamom9pCdNTr5pz6EsV8Uo9yV5KVgkXfVnJQ4hqXAT5 iukuGQQ4lW_6NBwFMENKQfMSm6oRaeSKtFi2XWKCiQFXdKa.p.hGq341O_Q.rulxKidmkWiixWRK sfSb4sdhJJ0WKsUCUe2j1ir2xU_Tc_W6YRa7TlTvpA60SATozTCCkUKefRB35cP36LmeK2JHhaLf EErK_B5.4LjmRPic04Z8MMj5htss4ArlD2DIiWIqksW.VSCNAhpiyj9XHFHxPtzE2sdjNjj6cMLB ihCCZP5XPAYQIyugdPYyKYZHoFv7VhWeX_4H28xHr6nJ.N0c9KZ4Eez86ZJzAFaIxMuZm6Zxu.od xGXaMDjwc4nw3f7nD_eQKuhtZ7tlQFVm6gN5xAsqjljla6F7P4NodLKUjhYMagUgJB7a2o5Zi8HE D3pwjIsHadGo1j0TgA7An5KPPkPR6mfZvpR2ZHpDeVyRF14OevD9y1iiEKUDsrFiblibbE5tvceF XsJGoDxsAxqgt71Eu_O8xWdSwgr8dGlZAaxRrbkciCDq0qP7CKGs3sz_.1YrVrWxpaBzZCcqkL2G 3fmOx79w8nyL0FrmPxGR2r7tseuvLtMetjMaslWT.4SZtKHoSgoerQSBfhsDPenknBrDS5R6Nf.I DtcNr4Sf6JmA0VMBpOun46wBznEczg0kg3L4vSxwVWyGEP4cI68ImDqzaxsqqf90PjWEK2tVgEh1 8dhkkv4msoIrHz6PxZt8v28mwzTnlQ.XBEydanBqCw X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.ne1.yahoo.com with HTTP; Mon, 23 Jan 2023 23:51:32 +0000 Original-Received: by hermes--production-sg3-84766d64d7-krnx7 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 7f7782430d2688e5e0f70e7e436b9d16; Mon, 23 Jan 2023 23:51:27 +0000 (UTC) In-Reply-To: X-Mailer: WebService/1.1.21096 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.187.147; envelope-from=luangruo@yahoo.com; helo=sonic316-21.consmr.mail.ne1.yahoo.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:302629 Archived-At: I find Emacs Lisp to be a limiting language compared to C=2E This is just = my opinion, and this is why I greatly prefer writing C over Lisp=2E However, writing everything in C precludes customizing Emacs, so I tried t= o find a balance there=2E A good example would be the drag and drop code= =2E On January 24, 2023 2:22:44 AM GMT+08:00, John Yates wrote: >On Mon, Jan 23, 2023 at 12:06 PM Eli Zaretskii wrote: >> >> Quite a few new features are still being implemented in C=2E Consider >> just the recent innovations: native-compilation, tree-sitter, support >> for XInput2 and touch devices, to name just a few=2E > >Of these four, only tree-sitter seems to be implemented in C solely >for performance reasons=2E IIANM, there is nothing fundamental about >what tree-sitter is doing that *could not* be done in lisp=2E The >only issue is performance=2E > >By contrast, the three other features that you list (native- >compilation, XInput2 and touch screen support) need to interact >with the host environment=2E From what I have observed, developers >typically partition such features into a C component and a lisp >component=2E The impetus seems to be to find a natural partition: >to do in C what must (which may still include some performance >considerations) and then to expose a nice, clean interface to lisp=2E > >Part of what went unsaid in my previous post is that there have been >multiple occasions where code migrated from C to lisp, often to make >it easier to maintain and/or extend=2E I am sure that there must have >been instances of migration in the other direction, but none come >immediately to mind=2E > >> Moreover, familiarity with the internals implemented in C is IME quite >> necessary even for Emacs developers who almost never touch that layer= =2E > >For some definition of Emacs developer, I do agree=2E (Though, as a >C++ developer who, decades ago, left ancient C behind, and having >recently spent time noodling on the periphery of the display engine, >I can tell you that wading into that code is "bracing"=2E :-) > >/john > > >