From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Tree-sitter introduction documentation Date: Thu, 29 Dec 2022 20:28:49 +0200 Message-ID: <83y1qq6p3y.fsf@gnu.org> References: <4895891b-e5ea-9c37-f51b-df2e479ee758@yandex.ru> <83y1qt11xq.fsf@gnu.org> <9eb013da-d0fc-8e17-c6e3-1e8f913aebfa@yandex.ru> <83pmc50xxc.fsf@gnu.org> <71cfe4e8-3bb8-b0a6-9be5-8c0a6d92cfab@yandex.ru> <83h6xg29z3.fsf@gnu.org> <838ris22n4.fsf@gnu.org> <8335901zz3.fsf@gnu.org> <87cz84y5le.fsf@posteo.net> <3F91FDEA-881A-49DB-BB52-5A0D81C004CE@gmail.com> <87k02aihrz.fsf@posteo.net> <86ce08480352653995b8@heytings.org> <87r0wigqnb.fsf@posteo.net> <86ce08480372e6e5db04@heytings.org> <87358ygmm4.fsf@posteo.net> <86ce084803fb642d8fae@heytings.org> <87r0wif59x.fsf@posteo.net> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7931"; mail-complaints-to="usenet@ciao.gmane.io" Cc: gregory@heytings.org, casouri@gmail.com, monnier@iro.umontreal.ca, dgutov@yandex.ru, theophilusx@gmail.com, emacs-devel@gnu.org To: Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Dec 29 19:33:51 2022 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 1pAxix-0001q1-Hk for ged-emacs-devel@m.gmane-mx.org; Thu, 29 Dec 2022 19:33:51 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pAxdz-0003z1-IN; Thu, 29 Dec 2022 13:28:44 -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 1pAxdw-0003xD-Gj for emacs-devel@gnu.org; Thu, 29 Dec 2022 13:28:40 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAxdu-0000XY-SJ; Thu, 29 Dec 2022 13:28:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=esJX/y0VYbtx3sU0PN38XSIZZ+FZ2yrdyQ5wo9n1i0Q=; b=m/OoM2htiIJt NzBQwp+OWVQU0rFWfGyyZwfDNpyqWupm+Ly2bmPG2r3Q9fxVzj8IQbGEAVjLYcRraDv12DnYp8y4e NU+GG+NNAUnen+a28xKzjoZRens/fV3+AzkqRKJMuwBvH7Ga//hmo/2W4pdUGpEeu752uDC+FsgvA OW9PtejW753kC7gInYk9Z1Iu2r2P61IlHUwYqm7ChgS9uEsPAvR/uEwweuJaGfnx6/66nRMROFeIM wKLIpvpUcZs1dpsi1WYX4xS3l9joERbJQ7peALyU3WrdTCaA6PlMmHBlDTkoyFU3/rQ/NDb4l+DRX CKk+Dm0i404LWINEovdvpA==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAxdu-0000I3-6j; Thu, 29 Dec 2022 13:28:38 -0500 In-Reply-To: <87r0wif59x.fsf@posteo.net> (message from Philip Kaludercic on Thu, 29 Dec 2022 18:12:26 +0000) 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:302055 Archived-At: > From: Philip Kaludercic > Cc: Yuan Fu , Stefan Monnier , > Eli Zaretskii , Dmitry Gutov , Tim > Cross , emacs-devel@gnu.org > Date: Thu, 29 Dec 2022 18:12:26 +0000 > > > As you know, regular users do not need to install the complete > > toolchain, a C and C++ compiler is enough. It is only those few users > > that want to change the grammars or create new grammars that need a > > complete toolchain. > > I should clarify that these are the users I am concerned with, and > without a reason to, I do not distinguish from "regular" users. > > My main worry with these changes, along with the popularity of LSP is > that while they are technological improvements, they all happen at the > deterioration of Emacs' introspectability, increasing the effort it > takes for the user to make changes. IIUC you can't reload a .el file or > just a singular expression if you want to change how completion via > Eglot or how imenu works via Tree Sitter. A simple hack becomes a > weekend project. This is not an unconditional good. Yes, TANSTAAFL. And I think you exaggerate quite a lot. It is wrong not to distinguish between users who tinker with language grammars and the rest of them. Modifying a parser's grammar requires non-trivial knowledge, and thus most users will not go there. Just like most users will not try hacking the Emacs display code or GC. So the possibility to modify the grammar should exist, of course, but having to install a bunch of packages and their dependencies is nowhere near a serious problem. Because if it is, then we have similar problems with librsvg, for example, because you need a Rust installation to modify it. And there are other similar difficulties with other optional libraries we use. So let's stay focused on letting our "normal" users use the benefits of these technologies first, and care about those who want to change the grammars second.