From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Arthur Miller Newsgroups: gmane.emacs.devel Subject: Re: cond* vs pcase Date: Tue, 06 Feb 2024 13:30:17 +0100 Message-ID: References: <87il32iwmm.fsf@posteo.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="31870"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: "Alfred M. Szmidt" , emacs-devel@gnu.org To: Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Feb 06 13:46:41 2024 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 1rXKqW-00085t-SP for ged-emacs-devel@m.gmane-mx.org; Tue, 06 Feb 2024 13:46:41 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rXKph-000288-AW; Tue, 06 Feb 2024 07:45:49 -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 1rXKaw-0007Kg-QL for emacs-devel@gnu.org; Tue, 06 Feb 2024 07:30:35 -0500 Original-Received: from mail-db8eur05olkn2107.outbound.protection.outlook.com ([40.92.89.107] helo=EUR05-DB8-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rXKal-0003uD-Qi; Tue, 06 Feb 2024 07:30:34 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SxAJxdjnkt+opQr46Amh6IDwMpC2pnRPgeZWd9zbOIrigbA5yz8FBcIWH06XX3/OGsmt3n6ZKfU6HfktB/3ULB6PBljj7CzPLZbWyuq08LTidN1ex8G5pR6Xo81M/G8SaLLCLlsbRLpBVjl4ZkOs40xsny5nvM1otEzKfcs8cwMpWWT1V3cKQH5aU2Th5rwodcjaoV8ml0mSe7QAKBKJ1yF0pyyv8HMN6vZI8AdC6vBmpVV+qLUe9Su7DrzUuq0yYKEOjeFyOwMgoBGiqX1Z7My3oS3swz3S+J4tL9gEsQbtFq+tAIVIgs9IY4r52klNEsTsD5+5EFmsaPVbMt+P8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qqPFnfWJIQn0eQa8oEFBEYSl15xuNAouF2wInYNyjgA=; b=a9GQRrAuNxXL75r74lDaEyNgiocOnMXn+HUhl3SjtFwRUdz9iA36IzxkmQHsCtfrOpURnGpGtLzRYdLNXg4k/4sQ8otJJem9OCvnNaTFmTcj12hcfRYFF4tftq30WjmhFlNxJL72HoMROE3lC5lMPgI84MJebnuPGDZGTkzUbdtQqHYqC6Atu6zqPpzZNhHQKe9qp+eVj4BSgjCO59roaSxKmaFeSP+Ydg16LvbMjyWhyEaol3J7civa4832Ci6umWEXk5R5Imp649GXz0U8uzwMCDsDvARqx/2FW0D/6p30zADHKw3Y9obWNKSRdrL0UUXv+gFsMJaqZyhTPXK5mQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qqPFnfWJIQn0eQa8oEFBEYSl15xuNAouF2wInYNyjgA=; b=fzKjsCCh68Grja3sc2xHHRhi12OJ4eILvQZTL3UQJI83i1i1+lktGSstlBcEdwI8oWHAMzrH2eXqTGkLhegFd05g4EgfZ/fj880cdoj3wp24Zuf367t6HfV2Lpl1nc7LEv59qPQrCuSYqdsQqnhU2nmUSzv+IdEotMxSY7/0Qysie42cFq/owB8DJ8+cFodkmuFQtoNa/sDvNF9obZELdBP6iKCmmq8Ov863tN/951pEp6vTzVqlZw/1EQVs/LtwhbJb8DUSTIZjVb7gixJP4k4AkN8meR7B96ukxoy5QgkDA6bsEBOnN2KfyaFW/25jTqOqgTYVge3ymuNpm5/lhg== Original-Received: from DU2PR02MB10109.eurprd02.prod.outlook.com (2603:10a6:10:497::14) by GV2PR02MB8555.eurprd02.prod.outlook.com (2603:10a6:150:77::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.36; Tue, 6 Feb 2024 12:30:19 +0000 Original-Received: from DU2PR02MB10109.eurprd02.prod.outlook.com ([fe80::b91:5e3:fb4a:3b2c]) by DU2PR02MB10109.eurprd02.prod.outlook.com ([fe80::b91:5e3:fb4a:3b2c%3]) with mapi id 15.20.7249.035; Tue, 6 Feb 2024 12:30:19 +0000 In-Reply-To: <87il32iwmm.fsf@posteo.net> (Philip Kaludercic's message of "Mon, 05 Feb 2024 18:39:13 +0000") X-TMN: [qlVKJAAXSW4zyVSqA8klsbT1afT1/F2YuQe8Bw4gnHs=] X-ClientProxiedBy: AM4PR07CA0003.eurprd07.prod.outlook.com (2603:10a6:205:1::16) To DU2PR02MB10109.eurprd02.prod.outlook.com (2603:10a6:10:497::14) X-Microsoft-Original-Message-ID: <877cjh4vxi.fsf@live.com> X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR02MB10109:EE_|GV2PR02MB8555:EE_ X-MS-Office365-Filtering-Correlation-Id: 32f074f9-bd12-4805-d40d-08dc270f6172 X-MS-Exchange-SLBlob-MailProps: q6Zzr5Fg03F9taZ7Rj37k3/OQRGdwdw+nYKB2Nwpufnda6fzSLsM+ESqwagojVKGgOKOoXO28r5LvxoTbaafRa/DYwpe4B4W4xksOvTDczO1NYZHb6pb9wsq6onZ9QqM+N8XzEx71qi+L5pmg/Q3LOskTbbWs6eXtEeR+L5rMHMEpUH+0+vc1T6Z4fpWX7O1lKdn9Am+JNSfh2J9Q/35EQU7Cb60d+zY5A3jZByZ7ahcwHuJhsWC03MFUO9HQzIjpyecGtVZpYhrXHhOtnR3rk0YHa3wmYFmFiX8kfZcXLzRqnRyXAig6I+czAgrfyG8EeE1oQYgxCs7ZoiFMltXeUV1GbTtz6cfe57Lq79Vn8mOxAN5nibhBUqkLz+A5U7zuDjIp/ckcmU1Bvk0RzsRJqvF+/ritAknuJiw8x2+lzAu/bX1tY5oK1IpclsyKVDkPpeZapCwqzY+kF4fopVD2M0AD4X/jg0dif4Qee+pq2uRHZuk9fLX5E8cXT6tPzBW7g8O8ZntWVzOBp64CfI+XQSYm8GTOzzm9YErPnjzyVPmz8SVdAMN7Eu7SF+XxGlGd0QBURgx/HOSFKT96tpvCoWekIHsE5p11Cp4Co3aPYN1/ycFNdp30cD+HWJOOOrBROVO4fv7DvD3A/0fnNiD7xsAJ7ga/rxwbOWKf2vgJ3f6+YyshDgXxT2es5PykkXX X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: q3MlcT34S14iIKFn+xriZP8EIVJaXvjmuZiPURRMkA2cJODW39PQeN/xbDOM/lX9C3wimBJwDsN0zbz2WlswQOkUpJjVDf2jvnQf0HC3R11jN/Ems8siDUgOx4X9sv2hVtAYvyhoQxR3o6egDhXaE0FhPbQ8z8oiKY9FygZ1dNT2kwqpu8sQmx7iVrH3WrA75eDF5CBvrChePS1JO4hVWWUwDtS3wdzjKvg4FniSXxdMHL5B5FKUPZVSJbUXpZDU/t/ZNdIz8Y0tsbicd5LBdUlvxAy2woLOvT+qL76+EbDeHtyAU5zcLPu20GaTuZs73T2ADiHowvcV5Xsbj9Qb2MdCK9VsJNPJSIbg+DLhHVvoAPp3ktjaUOZKBb+k0QM38KiP7jOnAv3rYX73hvXCsN6sfuJNqdjKAw07yIHUMnLyRmOBfZW9LR1UIjSCdDTsLZ5OqNyZ0dMpbTm392dINpf9MIzCpVB9y4dZQQlgAmHJAkfQOOC98BuFfqMMHviQDk322LfBhSoApQ+YrcAxHJftW+6IBbKm4O5Pzip+1Nc22DSEYIKAI/1FP7xFZhzZ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0XTzSkG5g1Z5nuh0ecOfvkMEVfYoaa/ii54rUjvp303T7+LRa2fzHw6QRGlt?= =?us-ascii?Q?BjdXuhfWeMy+NrY1Hkw3D9dEG4vh3OBR5vfo6GfrZDxyLa9CF3T5Ha8ZB0Eo?= =?us-ascii?Q?rfWqaH4OEDWq4d67ItmKhvMAfZR+4sJZNV8S76+rW2YrD8pWEVoO36oPlrB3?= =?us-ascii?Q?LCOD1zX+MRfF8pfA36hf1/sHUKmYTGPm8D5oqtI836Q4lVm6D4ocYTTClAdW?= =?us-ascii?Q?QlAuSs1+Tc/7gSy8FMo/IfD6J+s1Pj0h42xiVxAwSPx/kpXNJUBKXDWtMjKH?= =?us-ascii?Q?ieG0aWaPDNS5d7pL4f93QR2d6UQ4nb5kls/DTBB7A9l/dKamQgIznyJS+tc0?= =?us-ascii?Q?OAh0v99leK6rBeMPwh5hWRU2GL94jXHm3BlKzprOSFowRrkIham8dVpT87EW?= =?us-ascii?Q?Hkx5fO6vXw/08T3SkCi4k590zVmWSjJA9JutdsUxW1UVQ5QzUWnVcCnPsRdx?= =?us-ascii?Q?EuzzPzqbZ/snI+LQE7v3uMjXWI7qaWGGx/awSAmjET9nrA9qnF5fA7LE1CBi?= =?us-ascii?Q?5VlsEu5l99PEF41EDPlGjeUHYgWumUhhlh0iSJWMqdPmqKLCG28ren47QEO3?= =?us-ascii?Q?tnuGeiE4qcNCL1G0muB/sma4QNn7mHNTyuTCErZf21ab9adN7m5iSLwdgtGG?= =?us-ascii?Q?3h X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-ab7de.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 32f074f9-bd12-4805-d40d-08dc270f6172 X-MS-Exchange-CrossTenant-AuthSource: DU2PR02MB10109.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2024 12:30:19.6599 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR02MB8555 Received-SPF: pass client-ip=40.92.89.107; envelope-from=arthur.miller@live.com; helo=EUR05-DB8-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Tue, 06 Feb 2024 07:45:43 -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:315928 Archived-At: Philip Kaludercic writes: > "Alfred M. Szmidt" writes: > >> I use pcase often; but I use it just as a better cond. For example I find this >> handy: >> >> (defvar foo nil) <-- foo is some symbol >> >> (pcase foo >> ('bar (do-some-bar-stuff)) >> ('baz (do-some-baz-fluff))) >> >> cl-case seems more appropriate here (wish cl-case was just case ...) > > Why more appropriate? I always think of pcase as Elisp's case. In > addition, pcase avoids the danger of naively writing > > (cl-case foo > ('bar (do-some-bar-stuff)) > ('baz (do-some-baz-fluff))) > > and then getting surprised when foo evaluates to `quote'. > >> or this: >> >> (setq foo "some-string") >> >> (pcase foo >> ("foo" (do-foo-case)) >> ("bar" (do-bar-case))) >> >> Same here, with (intern foo) ... > > Being able to do equal instead of eql is also something that speaks in > favour of pcase... Thanks Philip; that was an useful detail you pointed out. And thanks Alfred for the suggestion too. I actually wanted to ask the same question as Philip, but I didn't had time last night. But what I am most thinking of, is this kind of quesionts and detail for people to learn, and now we can add yet another case-like construct and perhaps slightly different behaviour in similar cases, and there will be even more mine fields for people to watch out and debug.