From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] pcase.el: Add type pattern Date: Tue, 10 Mar 2020 17:24:56 +0100 Message-ID: <87eeu0qisn.fsf@web.de> References: <874kuxxuez.fsf@alphapapa.net> <87r1y1wcj4.fsf@alphapapa.net> <87h7yxw5x1.fsf@alphapapa.net> <87a74puq1q.fsf@web.de> <87d09lw3id.fsf@alphapapa.net> <87zhcoqmmz.fsf@web.de> <87wo7s8b73.fsf@alphapapa.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="16102"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Adam Porter Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Mar 10 17:27:51 2020 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 1jBhjS-000447-Fq for ged-emacs-devel@m.gmane-mx.org; Tue, 10 Mar 2020 17:27:50 +0100 Original-Received: from localhost ([::1]:36582 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jBhjR-0000Ms-BD for ged-emacs-devel@m.gmane-mx.org; Tue, 10 Mar 2020 12:27:49 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43309) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jBhgc-0007kn-G9 for emacs-devel@gnu.org; Tue, 10 Mar 2020 12:24:55 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jBhgb-0001Pz-Fw for emacs-devel@gnu.org; Tue, 10 Mar 2020 12:24:54 -0400 Original-Received: from mout.web.de ([212.227.17.12]:56207) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jBhgb-0001Bj-1O for emacs-devel@gnu.org; Tue, 10 Mar 2020 12:24:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1583857488; bh=EveOxsJXQje4aJCeLwyJxoaMUgvMdmnXwOjmDvZ0AKM=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=okGzed27FECdiB9pJVeJmObnJYoGgICpo4j5FerSQg6kKbEJxfwXhnb1v05KnK1P2 T2DFgkguJaP+lwKbQ5DAXF3Y5MeB8/Q1N5rwKrJeXlmlaJY6b86Yg6bSTSQWpV7U8r dPXFo65o1xdlcGtNSFt1a8Fjt01pjC62CPahu4wM= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Original-Received: from drachen.dragon ([92.208.89.41]) by smtp.web.de (mrweb101 [213.165.67.124]) with ESMTPSA (Nemesis) id 0LqUPN-1jos3F1UCv-00e17L; Tue, 10 Mar 2020 17:24:48 +0100 In-Reply-To: <87wo7s8b73.fsf@alphapapa.net> (Adam Porter's message of "Tue, 10 Mar 2020 10:46:24 -0500") X-Provags-ID: V03:K1:Rsef2cIfjUJnJg9Hp78YlCv9ToZe7r8QoFxVpzW7MZZLnzatS1Y Zbwe4HRgFp4J5zhh/FiS7PpcNyvc31xC1+QNJDYZwKDyGeM6spqr0vVDreiqOrqKf5loS8d brBqafaHMnmtJZ18pkQryu3unvHlOwkTQR7v2+kNRjnGkFWWE7ZDcMy65b7PezSWhMZ4rG/ SMCTWvemxYovlDf9ej9KA== X-UI-Out-Filterresults: notjunk:1;V03:K0:Tn6qxIuB0hs=:Lc90RHSpXa5OMnSf9qNjxO Yhf3dVtD4BBgwk7K5eS/glckoWkUg9ImH/rWxem+kV5F5DUP5F/O2+tovfrIEo1jUPMV3JJuI n2ea858DZXZGuxR4IX0oGCy4djAw6x0Ul26jG2hH/6cg70pQSsuuYS0yEUmXcoj61Sy1x5qo4 Uk7Nr2LESHu2rXTg/5FGOwDGK7WSCUaWo31g/ruelGUYa/lFxt/TLVTf0yghxTWFqzH3hc221 uSHwEzVOSdyv8THyTbmcTOyD/34jG7AB1ZdhF3y76pxQ6scDEQjyH+VhYLa0qHmfHo86442U8 uUr20rdabSjln556WnML3qkUCJ9QBuE2Vii7LFBdwY6PXY10JFTGeo9g46wkeNSWwY9siiPm6 MTNlYlY02mcifi9LgiOviVsKtGMQHy74XLrehj5dVQvdeub1lJhjKJW0x+FEwy6OZ52zNpZQJ /6i2g6AWx05B1OSDKAYjv7wqVPV/KNZFqF9s5wzeTH2svRP6cfXf7tlbW0Xvcv/VtX0JX2spt gFuNoNe5gr4JnynV9suwNT9ZA4slbU+A26UBLCwiSiEM4TpboUePkhhrigPHTzDkcHw+qCgBE 93E6tuC/o63DHHn7+WSVraKHcBzdyTdiqRQT/ygE6IO0NiYWSbUOsTeZnOKzD+FtChndFQxN3 rr7Kgc630VMgnzYyTyxuRvlBZukj8W4pM+oLKrYdRoFrf3Ox7w/Teq0vxvXzLrCqMl+MiCBHw N++SQAXoL5EMWKjmVocQrQTjWwCmQwXiq0syjzVJlqJZ0bbMNTlKldthRpSBtuQ/70R5c/rE X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.12 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.io gmane.emacs.devel:245432 Archived-At: Adam Porter writes: > +(pcase-defmacro type (type) > + "Pcase pattern that matches objects of TYPE. > +TYPE is a symbol or list as accepted by `cl-typep', which see." > + `(pred (pcase--flip cl-typep ',type))) > + Is there a reason why you omit the (require 'cl-lib) call in the definition as suggested by Stefan? With your definition in emacs -Q: (macroexpand-all '(pcase 10 ((type (integer 0 10)) t))) => (if (cl-typep 10 '(integer 0 10)) (progn t) nil) With Stefan's version: (macroexpand-all '(pcase 10 ((type (integer 0 10)) t))) => (if (and (integerp 10) (>= 10 '0) (<= 10 '10)) (progn t) nil) I.e. the type expression is treated at compile time and the dependency to cl-lib is only at compile time, the compiled code has no dependency. That should be better, no? Michael.