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: Instead of pcase Date: Thu, 23 Nov 2023 22:38:16 -0500 Message-ID: References: <21eda04f-b974-0c56-ce6c-4fc0810e4e13@gutov.dev> <87edgkouoa.fsf@gnu.org> <8a43628e-0c00-2690-bd86-f355674d218b@gutov.dev> <0ace918f-75f4-fd4d-5d3c-640c4ba0ee78@gutov.dev> 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="11119"; mail-complaints-to="usenet@ciao.gmane.io" Cc: jemarch@gnu.org, emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Nov 24 04:38:37 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 1r6N1Y-0002hP-Om for ged-emacs-devel@m.gmane-mx.org; Fri, 24 Nov 2023 04:38:36 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r6N1H-0005Rt-6n; Thu, 23 Nov 2023 22:38:19 -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 1r6N1F-0005Rk-GF for emacs-devel@gnu.org; Thu, 23 Nov 2023 22:38:17 -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 1r6N1F-0003Qs-87; Thu, 23 Nov 2023 22:38:17 -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=Cyo1kdpc7/8AHmjU16FBnjeYg36igaM4Tv9JEFwolls=; b=sK0s48eEJJBG qdhhkQBMUuEJQ9ZHR9f6lmI2qrrcPraN7AXqi4c8IbY1vlvfN79axF0bzwOICYUEQY1gG0IzJkF1V RR5Wpm7qaV+sluOpC+dSw1Umz7CbNQ08NE4uNXsv5130oMKx5o8s2rCJSkU+5YFkv5zAkdvZ1ZfN1 3M5EVU8pvolIFkqA17/9jaL4M1Ir5geU/MUlY352B47CNMGjajs4y005WKDG6mmgJBspKRGblhtzA +nVwFpgHgV6F73+c4vDUc9RlEieilnbvouqIxZb1IpPj8yfiWWT5njAdv4RtmdEBuIYQZQSuNsLbv dSOUXvZvkyEGsXhU0cquvw==; Original-Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1r6N1E-0001t1-VM; Thu, 23 Nov 2023 22:38:16 -0500 In-Reply-To: <0ace918f-75f4-fd4d-5d3c-640c4ba0ee78@gutov.dev> (message from Dmitry Gutov on Wed, 22 Nov 2023 13:58:08 +0200) 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:313166 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. ]]] > Indeed. The goal there (and in such cases in general) is to concentrate > specific bits of complexity inside advanced named constructs (functions > or macros) that are designed in a way that reduces the total complexity > in the code which uses them. I think you and I mean different things when we say "complexity". In this conversation, we are miscommunicating. To replace a pcase call with direct use of old Emacs Lisp constructs would make code that is more verbose. That could be considered a kind of complexity. But I'm talking about the complexity of the language that the code is written in. pcase code is written in a separate "domain-specific language", and the complexity of that language adds to the complexity of the Emacs Lisp language. But it still contains all those same old Emacs Lisp constructs. pcase does not replace any of that complexity; it adds additional complexity to the language. I hope that cond* will do the same kind of code-simplification that pcase does, while adding much less to the complexity of the lsnguage that the code is written in. -- 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)