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: Sat, 11 Nov 2023 21:57:02 -0500 Message-ID: References: <871qd8sfdx.fsf@posteo.net> <838r7g8pys.fsf@gnu.org> <87bkcbrgnr.fsf@posteo.net> <25924.21015.19614.951576@orion.rgrjr.com> <87bkc4jpja.fsf@dataswamp.org> <12da6bcb-1818-7fbe-12af-8d4607724332@gutov.dev> <87il6bt4z0.fsf@yahoo.com> <8734xetjkk.fsf@yahoo.com> <87cywhsrcf.fsf@yahoo.com> <87cywgx1z0.fsf@web.de> <83wmuowwp3.fsf@gnu.org> 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="38829"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: =?iso-8859-1?Q?Jo=C3=A3o_T=C3=A1vora?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Nov 12 03:58:02 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 1r20fh-0009lP-Kq for ged-emacs-devel@m.gmane-mx.org; Sun, 12 Nov 2023 03:58:02 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r20em-0000W3-MF; Sat, 11 Nov 2023 21:57:04 -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 1r20ek-0000VY-Kj for emacs-devel@gnu.org; Sat, 11 Nov 2023 21:57:02 -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 1r20ek-0006Lt-CW; Sat, 11 Nov 2023 21:57:02 -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=5zRxx9dRy/uKCGTt1/d8jt0Twehk1y+M8B//LhWfCa0=; b=nvfQAn0Olu4G CAf79dgZepJeGTKekbZKRjMOjO8EaZt3GVVGxZiQQBdrzZBqdC7FJBfBFnkNNqo370Sc6iWAEy7g1 NSAvEu0sgyleU9ePId/TBYMQKPX6hQcrrscphT/NfsaDVscUPUBCiI74Y/+FxlUFAY7hLqG8TOk4P yRqUbhfYw5olAtE+UPfOIi3kutDFFrglErgbExqCgxNc9+sF7aWaA9lLKXkiLEum1bcOmccutFipU CL9mGd96qMPGwbVIGSRqws+j2qATMfbIeeBlNTD1n1jyo84G3QmXgEBBl60gaUIYwzq/nDEYd89uW rO0Vgra7iIpe6Xytce3Ikg==; Original-Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1r20ek-0005Mj-3x; Sat, 11 Nov 2023 21:57:02 -0500 In-Reply-To: (message from =?iso-8859-1?Q?Jo=C3=A3o_T=C3=A1vora?= on Sat, 11 Nov 2023 13:09:11 +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:312629 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. ]]] > But when you need to process plists, for example, it becomes > very handy. This construct, which does require knowing a bit > of the mini-language that is cl-loop, > (cl-loop for (k v) on plist by #'cddr collect (cons k v)) It is certainly concise. If I saw that code I would not understand it, but if you said what job it does I could see how it might do that. That's because cl-loop defines its own little language, which I don't know. The question of readability here is a combination of two questions that work against each other. First, how readable are the programs ou can write in that little language? Second, how readable are they to those who don't know the little language? This is a rather extreme example of how the frequent use of the CL constructs, so that they become part of typical Emacs Lisp code, adds to what people need to know in order to understand typical Emacs Lisp code. -- 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)