From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Christopher Dimech Newsgroups: gmane.emacs.devel Subject: [External] : Emacs website, Lisp, and other Date: Wed, 7 Aug 2024 00:26:39 +0200 Message-ID: References: <87sevj9b50.fsf@jeremybryant.net> <86h6bzqj2v.fsf@gnu.org> <87ed718o45.fsf@jeremybryant.net> 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="16565"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Jeremy Bryant , Eli Zaretskii , "emacs-devel@gnu.org" , "rms@gnu.org" To: Drew Adams Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Aug 07 00:27:59 2024 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 1sbSes-00048f-MM for ged-emacs-devel@m.gmane-mx.org; Wed, 07 Aug 2024 00:27:58 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sbSdv-0006I3-P4; Tue, 06 Aug 2024 18:26:59 -0400 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 1sbSdt-0006Hf-T5 for emacs-devel@gnu.org; Tue, 06 Aug 2024 18:26:57 -0400 Original-Received: from mout.gmx.net ([212.227.15.15]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sbSdr-00050P-A7; Tue, 06 Aug 2024 18:26:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.com; s=s31663417; t=1722983199; x=1723587999; i=dimech@gmx.com; bh=Ui+oZinjOI0f3x6s3913mY1lr5IMF8Qi1LUpo3nx0O0=; h=X-UI-Sender-Class:MIME-Version:Message-ID:From:To:Cc:Subject: Content-Type:Date:In-Reply-To:References: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=ZGE/anMLI6jtfTeFxbiKtLJTqCo5vJ4QQ5eXEBPW7om8PKgBW1JopjN3DD3Xacb9 tTPQk2hp2rolu2X5Z3x3FpGKEveRYuMVPKShv5XEk0R+ch+LOKXh2m5bDLn0N1cEc XNF3VyoM3PZarA1OhfhJTsKFtbR7UkGdaCgIf72Ux+7PA5VMgtWvsXM5BGnNvlqpI UE66yezPgFdR4uxZECUKjj5Kb6JSqru8IzEd21rMS/YQCrqfc5RNYhlohCxuP3dIW kiVVrW/3CZSnJGYyU1RBjfuwv7GFnUC6rVQvBjl2TFED5uOYQi/+M4k4tl3CHJVtq LQ+oNzvGk3/ELV2wLw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from [92.251.79.197] ([92.251.79.197]) by web-mail.gmx.net (3c-app-mailcom-bs08.server.lan [172.19.170.176]) (via HTTP); Wed, 7 Aug 2024 00:26:39 +0200 Importance: normal Sensitivity: Normal In-Reply-To: X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K1:3AjfGp+0c/ItrgUpVbNrhVayr9/SyAhPgNHOPhqVTs7cLl/TXlI4tFOlFyOjkmWZvsTJe lB47tjVl+nd/kk/xFFEANbomm4xCMgcZS1rtGRvRkGlOAwV+HHcAtHnsY3It97eIU3emjYTPAhDn OZLKI9ey7FiYBOpoz4Hw04xupqjPdAeky7xua4FO38Qyv6pTblyMBDgew8KHNMDfX+pUJpvSnkTa ez0OrJ07jVW8fBK1il4umlYKS0JupAASEOiIrCd0jNik7d7vpnA8APTZq6DCLxL3jWce1B8yLzdV 6U= UI-OutboundReport: notjunk:1;M01:P0:Nzaz2xbt/t4=;HeiYJPZ/KG+Mt+poHYl7784R/X7 bk8OhTYrOBKgeMaex4GUeCk3BuRKMRS3OPtSCB+uNUEsD+COVzOSxiniMzhjmpHJtHNWgSNPV Px+s6zbctb7OhDAS/6vnqm7Om4NKNliS3muopZzdc12fOCxongae4HOdO5im2WICfYji6EdUb QkFENLyc8/+uoo8rhWTN2LY6adLDYqkItuCbrBYSVnjtCV9UjuXlmq4EtOslUqMhWe9DBqrO4 o5Kav9moRFTbId4hEMnCixZlgrYOA1k8/to7RIDQOM/YVfPwItPtPuuWz6g21o6sUrYqJD12S qAtcOCvSkhzD+2gB9KmGRf8VGGL3g+E7bHUYWv2RRl8V4mZDKpI6Tr3xPeRRARdu5bcb1lu4j j5gFh9rCFCy6gPFUXmkjDpv+4V7nX8QHvRq2nsJVovNJ4rvK+mZmjH7waX4wEUMb4X0l4jYwR ToLr/oVYeuMfKrwQblle/HHXos+hgfJ5GoOH/A9lbXXIe+KCGurksDhxh/gPH/cT881Txuou3 sHDlM0rNpgWhGVanV14czBVmq3ml0bs7rQEIjV9B948LHSLl4SYIksnzc3Gn/UJhcc4QQwACW MCs2Ei++eOxxRvkPav2rK76+bfY3JrPXCUOyOsCsVzuPJzjfGy3mTn51AfI+57fVkL+IanzLd bp2eEwC/3/fMoCxsFRRliHTl3/tjDactqq9yLpjvLg== Received-SPF: pass client-ip=212.227.15.15; envelope-from=dimech@gmx.com; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham 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:322466 Archived-At: > Sent: Wednesday, August 07, 2024 at 8:35 AM > From: "Drew Adams" > To: "Christopher Dimech" , "Jeremy Bryant" > Cc: "Eli Zaretskii" , "emacs-devel@gnu.org" , "rms@gnu.org" > Subject: RE: [External] : Emacs website, Lisp, and other > > > A balanced documentation example would be: > > > > Emacs Lisp (Elisp) is a dialect of the Lisp > > programming language, chosen by Richard Stallman > > for its flexibility and his familiarity with it... > > > > While Elisp's power and versatility make it > > well-suited for writing editing commands, it's > > important to recognize that different languages > > have their own strengths and may be better suited > > for other specific tasks. > > > > This approach provides necessary background > > information without making exaggerated claims, > > reducing the likelihood of sparking heated debates > > among users. > > While I agree with general advice to avoid inflated > language / hyperbole, IMO that description is not > only too subdued, it misses the reasons why Elisp > is important for Emacs: It was meant as idea and general advice. Yes, it was subdued. The information you describe can be added. My wording was about the rewriting of some sentences. Nothing more. > > Lisp programming language, chosen by Richard > > Stallman for its flexibility and his familiarity > > with it > > Flexibility: Certainly, but without some support > that's just a weasel word - unhelpful, near > meaningless. That must be Richard's point of view, not ours. > And RMS didn't choose Lisp because it was what he > was familiar with. There's a little more to it - > and to Lisp - than you suggest there. RMS has, > himself, written about it. You can take him at his > 1981 word about why Lisp is important for Emacs. Right. The practical and historical reasons for choosing a Unix-Lke Syste= m and developing Emacs cannot be attributed solely to technical merit. > https://www.gnu.org/software/emacs/emacs-paper.html > > Comprehension of the user's program reaches its > greatest heights for Lisp programs, because the > simplicity of Lisp syntax makes intelligent > editing operations easier to implement, while > the complexity of other languages discourages > their users from implementing similar operations > for them. In fact, EMACS offers most of the same > facilities as editors such as the Interlisp editor > which operate on list structure, but combined with > display editing. The simple syntax of Lisp, > together with the powerful editing features made > possible by that simple syntax, add up to a more > convenient programming system than is practical > with other languages. Lisp and extensible editors > are made for each other, in this way. We will see > below that this is not the only way... > > An on-line extensible system must be able to accept > and then execute new code while it is running. > This eliminates most popular programming languages > except Lisp, APL and Snobol. At the same time, > Lisp's interpreter and its ability to treat > functions as data are exactly what we need... > > A PASCAL or PL/I implementation which uses an > interpreter, and allows the user program to access > the interpreter data structures sufficiently, could > be used just as a Lisp implementation would be used. > However, such implementations are very rare, because > these languages are not designed for them. If the > implementor appreciates the importance of the > interpreter, and of treating functions as data, he > will usually choose to implement Lisp... > When a language is used for implementing extensible > systems, certain control structure and data > structure features become vital: > > * Global Variables... > * Dynamic Binding... > * Variables Local to a File... > * Hooks... > * User handling of errors... > * Non-Local Control Transfer... > > The traditional attitude towards Lisp holds that > it is useful only for esoteric amusements and > Artificial Intelligence... The special properties > of Lisp, which make extensibility possible, are > a key feature, even though many of the users will > not be programmers. > > tl;dr: > > "Lisp and extensible editors are made for each other" > > Sure, that was 43 years ago. But still germane. > > > it's important to recognize that different > > languages have their own strengths and may be > > better suited for other specific tasks. > > What's the point of saying that in the context for > which you suggest it? Emacs Lisp has evolved alongside Emacs, tailored specifically to meet the needs of the editor. This co-evolution has made Elisp particularly adept at tasks related to text editing, customization, and extending Emacs functionalities. Recognizing that Elisp has become highly specialized helps explain why it is so effective within Emacs. This specialization is not because of inherent properties of Lisp but due to focused development efforts over time. Other languages can potentially be used to develop Emacs-like editors. Languages like Ruby, or modern variants of Lisp, such as Clojure, could be adapted for similar purposes if there were enough focus and development effort. Just as Elisp has grown with Emacs, other languages could develop unique features and optimizations for specific applications. This recognition encourages a broader appreciation of programming language= s and fosters an open-minded approach.