From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Instead of pcase Date: Thu, 30 Nov 2023 21:26:48 +0200 Message-ID: <83fs0navpj.fsf@gnu.org> References: <87fs169mjj.fsf@posteo.net> <093f11a1-57c2-5e56-d39b-26fef1c67cbb@gutov.dev> <25942.25061.217864.329049@retriever.mtv.corp.google.com> <87zfzdcz6z.fsf@posteo.net> <763f067b-4ca9-1eba-9f3c-424c38589e9c@gutov.dev> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33317"; mail-complaints-to="usenet@ciao.gmane.io" Cc: rms@gnu.org, dmitry@gutov.dev, philipk@posteo.net, emacs-devel@gnu.org To: Lynn Winebarger Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 30 20:27:41 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 1r8mhI-0008RZ-Vz for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Nov 2023 20:27:41 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r8mgj-0006kh-OO; Thu, 30 Nov 2023 14:27:05 -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 1r8mgh-0006kV-Or for emacs-devel@gnu.org; Thu, 30 Nov 2023 14:27:03 -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 1r8mgf-0003ua-Dm; Thu, 30 Nov 2023 14:27:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=PlfOE+KnQWICMTSvAmRPozWR5jYuUkvs2U1oycTjUbo=; b=Xuiv8jUaSwKL bJ8duKHr1VVDS+mrTQOiHwgnpkDVm28WsBpWB3WEjW7BDa3Or3EVhN3gWqPgO1gJHoI51xKRdG52+ cSnA6nHrROJ930dweD8TWcGzIBQyHFztx8hqmHGsnoSBjkybN5AFztXmtQ9uLq2DOXvEsuyC+dZjc Z2V6XEFyVAb7LntAU6p5yNn6lLdz11m5dg8TmKWOGZ/JKX+L9ytHAHvxYzt+6vgyczRH0e7rcNxIt E+jE+zmDdnlVmD03NSW69XJX4FJUhosjiA+84AvZ9e7uMkyjZh4q43uRDzDqfbF20emJtv6bI7aS3 jlL0/knTHejXA4Q7Fq8QaQ==; In-Reply-To: (message from Lynn Winebarger on Thu, 30 Nov 2023 14:14:04 -0500) 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:313406 Archived-At: > From: Lynn Winebarger > Date: Thu, 30 Nov 2023 14:14:04 -0500 > Cc: Dmitry Gutov , Philip Kaludercic , > emacs-devel > > > > > > (`(,hookfun ,start ,end ,collection . ,plist) > > > I would think the author is simply emphasizing that [perse is] parsing an > > entity in an association list for which hookfun is a key. > > You may well be right about per intensions, and it is possible that a > person who already fully understands what this code is doing would > have realized that immediately. > > But a person who is just starting to look at this code, and reads that > function first, is likely to be impeded in starting to reach that sort > of understanding. > > I have to respectfully disagree - dotted pair notation is a pretty fundamental part of LISP syntax, > regardless of dialect. I think you are missing the point. The point is that pcase has so many semi-magical syntax features that use punctuation characters in creative ways that every extra punctuation character presents a puzzle. Faced with (`(,hookfun . ,start ,end)) one immediately asks himself why the period, where in "normal" Lisp expressions it would be completely redundant? The fact that it is there then leaves one wondering whether that period has some "magical" meaning. That is the basic problem with every unusual syntax, and the reason why introducing such DSLs is a disadvantage.