From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Philip Kaludercic Newsgroups: gmane.emacs.devel Subject: Re: What's missing in ELisp that makes people want to use cl-lib? Date: Thu, 02 Nov 2023 08:55:54 +0000 Message-ID: <871qd8sfdx.fsf@posteo.net> References: <46ab3c7d-d820-4bb4-8ec4-97c614d7c8a0@alphapapa.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34862"; mail-complaints-to="usenet@ciao.gmane.io" Cc: =?utf-8?B?Sm/Dg8KjbyBUw4PCoXZvcmE=?= , adam@alphapapa.net, emacs-devel@gnu.org, stefankangas@gmail.com To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 02 09:56:54 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 1qyTVV-0008pU-DO for ged-emacs-devel@m.gmane-mx.org; Thu, 02 Nov 2023 09:56:53 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qyTUo-0000P2-Rr; Thu, 02 Nov 2023 04:56:10 -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 1qyTUm-0000Ou-Dz for emacs-devel@gnu.org; Thu, 02 Nov 2023 04:56:08 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qyTUi-0004qo-RJ for emacs-devel@gnu.org; Thu, 02 Nov 2023 04:56:08 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 663A7240028 for ; Thu, 2 Nov 2023 09:55:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1698915356; bh=4cIjsmW/znOetHlYi4Orj4ulQaya2tQ4MFWik+CvREY=; h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:From; b=mOlymLT5s35DUcqx/nC9p7Mu8GvV7gkDkJEK7oM5qy/QJzEhYUm95vSZN4I1gVYsz nqSNDrNwdsXXAj1ikKpaoJgUQhELW1KfjJQslN9+0gDm50k87qY9ehGp9ulmnROhYE hGd9VINf6IUB056QpnS+Sk/ck/gi8Eir+1VTq6xW7vhrAY+Os2uP/q46YqStPbt1+2 FtNeSCYN3N6rWUXYZEFXKB54Yf/UGf3qht9Pfo91ObhOH0BDhBO2N7zIx19YnbKCsL pZTMpXVL66LpKyKbT/voAxy4AjXA5SeZl9o4gbP1vO3VlAi2rMfjF3grV+McWFhESP LzFjz5LXXEIaA== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SLd571c22z6twd; Thu, 2 Nov 2023 09:55:55 +0100 (CET) In-Reply-To: (Richard Stallman's message of "Wed, 01 Nov 2023 22:28:55 -0400") Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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:312110 Archived-At: Richard Stallman writes: > [[[ 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. ]]] > > It might be ok to add some keyword arguments to `sort', which are more > unusual and complex to use, but not to simple constructs like > `pushnew'. This is Emacs Lisp, not Common Lisp. What does that last sentence mean? I hope this is not a too philosophical question, but what constitutes "Emacs Lisp"? It would seem peculiar if it were to be defined by the arbitrary decisions of the past, constrained by the contingent circumstances of the time. Certainly part of it is that it is part of a tradition of Lisp implementations, that gives it a distinctive flavour, but to me the main aspects and attractions of Emacs Lisp (in contrast to CL and Scheme) have been: 1. Not standardised; it is possible to extend the language without having to worry about how many implementations will follow along 2. Accepting Unix; not trying to abstract over various different operating systems and file systems, making it easier to work with GNU and other POSIX-based environments. The first point would be relevant here. Just like if-let or thread-first, Emacs Lisp can learn from interesting ideas that other languages provide, adapt and add them, making them available to everyone. If a form expresses something that people frequently want to do, but either have to elaborate using (unless (memq ...) (push ...)), then we are making Emacs more useful and expressive by providing the functionality OOTB. And isn't that the real point of Emacs Lisp?