From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: What's missing in ELisp that makes people want to use cl-lib? Date: Tue, 07 Nov 2023 11:17:37 -0500 Message-ID: References: <46ab3c7d-d820-4bb4-8ec4-97c614d7c8a0@alphapapa.net> <871qd8sfdx.fsf@posteo.net> <838r7g8pys.fsf@gnu.org> <87bkcbrgnr.fsf@posteo.net> <25924.21015.19614.951576@orion.rgrjr.com> Reply-To: rms@gnu.org Content-Type: text/plain; charset=Utf-8 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36835"; mail-complaints-to="usenet@ciao.gmane.io" Cc: philipk@posteo.net, eliz@gnu.org, joaotavora@gmail.com, adam@alphapapa.net, emacs-devel@gnu.org, stefankangas@gmail.com To: Bob Rogers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Nov 07 17:18:31 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 1r0Omc-0009PT-R3 for ged-emacs-devel@m.gmane-mx.org; Tue, 07 Nov 2023 17:18:30 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r0Oly-0002AJ-19; Tue, 07 Nov 2023 11:17:52 -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 1r0Oln-000225-5d for emacs-devel@gnu.org; Tue, 07 Nov 2023 11:17:39 -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 1r0Oll-0005jI-Sl; Tue, 07 Nov 2023 11:17:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=J9tUlSS7H2fO/Y16q3bDq33rlqbSwJr33oIl21mwYuU=; b=SNN6KTyAz86y yWet5+BOgKQ1qwuSh9xf3td+cQK+FOI4kDY5Bnhp9DX9IvJscyUBDI5Id7jkunmxrejSHrKz27jaT +Hb8LpvGcbQCuAW02d0lv8oea13MWmk5aIQrO6ux2GyMHtzEKxEqj3fDOmTrFBnYiFp8zvPvke3rM bVgtxYrNaIkY9WKiZOjLcN5S6TB2lNvppt+3AxX+T36fgCu4XrEQpR8qDqLo9BVfjsGl+YMKL2MnY KkNq99zJaFQwRfP93knw6rwsmwomCF6zAWiWSBmJm41869tcbS6Wr9oWqxSe1RlqZa1zqe1qctT/A A499GgtfThKsG73wQvzXhA==; Original-Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1r0Oll-0001En-KK; Tue, 07 Nov 2023 11:17:37 -0500 In-Reply-To: <25924.21015.19614.951576@orion.rgrjr.com> (message from Bob Rogers on Thu, 2 Nov 2023 18:51:19 -0700) 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:312312 Archived-At: [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > So, Richard, I see that you are fighting to preserve something real > and important -- your vision of Emacs Lisp as a coherent language -- and > I believe that may be your prerogative as its creator. But I also > believe you may be a decade or two too late. It is not too late if we find a few more contributors who appreciate what is at stake. The consistent style of Emacs Lisp is one part of it. But there is a more practical part, which I've explained recently: the duplication, even triplication of features for the same job. The result of this is to multiply what one needs to know to understand the code in Emacs. If Emacs Lisp had only one interface for doing a particular job, it would be enough to learn that one. But when it has several different interfaces for doing the same job, you end up needing to know all those interfaces. Any one file probably uses one of the interfaces; to understand that file, knowing that one interface is emnough. But the next file you look at probably uses a different interface, and the next one yet another interface -- so in practice you need to know all the redundant interfaces. This puts an avoidable extra a burden on everyone who wants to read the Lisp code of Emacs. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)