From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.devel Subject: Re: Instead of pcase Date: Sun, 19 Nov 2023 15:14:58 +0100 Message-ID: <87jzqd3k4d.fsf@web.de> References: <87fs15kkk1.fsf@yahoo.com> <874jhi3qx3.fsf@web.de> <83y1etkiuq.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19091"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: emacs-devel@gnu.org Cancel-Lock: sha1:TLbMHFvTt42Fn6UoPSL0kWvA2u0= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Nov 19 15:15:33 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 1r4iaD-0004ls-3L for ged-emacs-devel@m.gmane-mx.org; Sun, 19 Nov 2023 15:15:33 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r4iZd-0007VD-1G; Sun, 19 Nov 2023 09:14:57 -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 1r4iZc-0007Ur-66 for emacs-devel@gnu.org; Sun, 19 Nov 2023 09:14:56 -0500 Original-Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r4iZa-0007GO-NO for emacs-devel@gnu.org; Sun, 19 Nov 2023 09:14:55 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1r4iZY-0003of-KE for emacs-devel@gnu.org; Sun, 19 Nov 2023 15:14:52 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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:312979 Archived-At: Eli Zaretskii writes: > > What I don't like here in this discussion is that some people are not > > willing to accept that other people make different experiences with the > > same things. > > This goes both ways, you know. Indeed. I'm curious how an alternative could look like, actually. But unless such an alternative exists or is completely designed, it is only a claim that it would lead to less mistakes and would be simpler. And I doubt it. It would have to implement the same set of features, so it would be quite as complex as `pcase'. You would have to remember or look up more or less the same things and details. Maybe in a different mood (some people less angry, others more). And here the `rx' example and `pcase' are very similar: what the programmer actually has to keep in mind is how the regexp matching algorithm or the pattern matching algorithm works. This part is still a black box, you must learn the specification, independently from the language used to specify the matchers. How the result is interpreted is always something you have to learn additionally. In your example, actually, string regexps are the primitive, low level language, `rx' is the higher level language, so it should lead to less mistakes (your argument). `pcase' is the extensible higher level language for pattern matching, specifically designed for this purpose, so it should be more suited and lead to less mistakes than more primitive tools. Has anyone counted how many mistakes were introduced by wrong pcase pattern specifications, compared to more verbose re-formulations using other tools? If we don't do that, the discussion is still selective, with other words, about preferences again. Michael.