From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.devel Subject: Re: Can't compile `or' pcase pattern Date: Sat, 13 May 2017 16:14:52 +0200 Message-ID: <87efvszvvn.fsf@drachen> References: <877f1nmlcf.fsf@drachen> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1494684943 29015 195.159.176.226 (13 May 2017 14:15:43 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 13 May 2017 14:15:43 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat May 13 16:15:38 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d9XpY-0007RW-Ts for ged-emacs-devel@m.gmane.org; Sat, 13 May 2017 16:15:37 +0200 Original-Received: from localhost ([::1]:57759 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d9Xpe-0005pW-5u for ged-emacs-devel@m.gmane.org; Sat, 13 May 2017 10:15:42 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49554) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d9Xow-0005pM-TU for emacs-devel@gnu.org; Sat, 13 May 2017 10:14:59 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d9Xot-0005D8-Qx for emacs-devel@gnu.org; Sat, 13 May 2017 10:14:58 -0400 Original-Received: from mout.web.de ([217.72.192.78]:49269) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d9Xot-0005Bd-Fy for emacs-devel@gnu.org; Sat, 13 May 2017 10:14:55 -0400 Original-Received: from drachen.dragon ([92.208.94.183]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0Mb8sh-1dSbAY0311-00KhJg; Sat, 13 May 2017 16:14:49 +0200 In-Reply-To: (Stefan Monnier's message of "Thu, 11 May 2017 22:29:56 -0400") X-Provags-ID: V03:K0:bsNafS3kncet1PNe5EFJgcPuKDlU3mxPPMGumVfXweW48/5NBsZ o/+z8A68uxFfucz2BQ6u6lM0Yc7u9WJcfd6Rk3gtdBoB3i3+tegEwzyEQqhKbotcq+TAdJn RH9kW8Fa8heBMObviONSV7hMvNZTGyrp8smpVb9SAr3ImHQ8Vxfb0DDUfTPmY/9t6GwNqV5 XmgYxTEtR9PLWtjFxvmuQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:Gy9RggyOqOA=:jp/3f+FX1hH/xUNge/K4Jy SwNHe1MM2qOGZl8ogWPbq6cOXhI+HjJ7pwWFj2Q0gdZlTmFN7DkDUZuEAEdudUBwugdHpZjxF 9f3XhjIADXMLhdNp4j4JYrV2cxVRUayXmD0BeKWawoY4yNzlj6kSF+E7mM3nqY7ddRQfWsNIa tCU7w80zyuV8CpR3EVeD4pI9jC1gp2axxtBGFoYd4Y4PEI3+Rt3xm8dtsIkIn9C6e4wMbTL3y VHdF4XuUYtiSxE+kJBH4yHImqgX7FiU7YYFRefosWDxtQIZfDUmmc8O1oRDA1kCIiCkuwFcW2 Ilm7VD27oSY/O+aHYs0OwZrUVUOb0BfUORIbozlbfat0n2RbUBxbtayp0PUTcKPmtGrCL6AHF TRxUuekI45SjuPuFwR31AomatcTkdtS17MDCIW2DhtZIJePIx+QqER+rdaeS3wmYy6buT20wl N2fRABMdTia1+sjVcAGJJcN9jy8juU148rd8/dy31v78ldvA1DhxDe6YR0FXgXVHvRHp+bXUJ UqEgHvsuftVS37eoY9gX9ABAa/ubr61/HWfKpRKsvM1UL/Nbqn6kvFm0xpbh6jbUnpGl1qrGP yVFGBGTOxhrkQ8eLoTwyMeioQ3MxMjJCzImHGrs8c239kncG+8hMCj9nmO1mriaQaUOqwau2V 9ZAELHomP16trMGwuIdoAvVGEPDZXwWHg9oSekShcWSlJwwzIs+XSOq2jnCcbkQRVZgNuwetz Ubu7IsPSGw8NxiNjIqnyB4thmqVefeR2zqYcaJpyYfNeRVwJP6oHo9isOfW69vXed69rCDoc X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.78 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:214816 Archived-At: Stefan Monnier writes: > Looking at the definition of `l` I think you're pushing pcase a bit > further than it can go. > > A bit like a DFA representation of a regexp can explode, a pcase's > expansion can explode in some cases, and your `l` has all the tools > needed to triggger such explosions. Hmm, somehow I expected the technical term "explode" in your answer. > Maybe you can reduce the pain, by looking at the expansion and trying > to see how pcase-mutually-exclusive-p could be improved to get a > better result. I guess you mean `pcase--mutually-exclusive-p'. When I get the time I'll try to learn how that works. For now, I have narrowed the semantics of the lpats so that they don't automatically also try quoted and function-quoted symbols. Thanks, Michael.