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: Another pcase-lambda Date: Thu, 21 Sep 2017 13:40:41 +0200 Message-ID: <87tvzwz3d2.fsf@web.de> References: <20170919005637.GA19322@holos.localdomain> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1505994087 30124 195.159.176.226 (21 Sep 2017 11:41:27 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 21 Sep 2017 11:41:27 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.60 (gnu/linux) Cc: Stefan Monnier , emacs-devel@gnu.org To: Mark Oteiza Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Sep 21 13:41:23 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 1duzr8-0007Vz-Ep for ged-emacs-devel@m.gmane.org; Thu, 21 Sep 2017 13:41:22 +0200 Original-Received: from localhost ([::1]:53045 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1duzrF-00025v-SW for ged-emacs-devel@m.gmane.org; Thu, 21 Sep 2017 07:41:29 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60854) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1duzqg-00025U-Be for emacs-devel@gnu.org; Thu, 21 Sep 2017 07:40:55 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1duzqd-0005gS-3v for emacs-devel@gnu.org; Thu, 21 Sep 2017 07:40:54 -0400 Original-Received: from mout.web.de ([212.227.15.3]:60797) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1duzqc-0005eB-KH for emacs-devel@gnu.org; Thu, 21 Sep 2017 07:40:50 -0400 Original-Received: from drachen.dragon ([193.81.157.39]) by smtp.web.de (mrweb004 [213.165.67.108]) with ESMTPSA (Nemesis) id 0M69CU-1dAD2n0Ddq-00y5vl; Thu, 21 Sep 2017 13:40:43 +0200 In-Reply-To: <20170919005637.GA19322@holos.localdomain> (Mark Oteiza's message of "Mon, 18 Sep 2017 20:56:37 -0400") X-Provags-ID: V03:K0:TD/WsHVaY8A1P8AVpXitIahwyc5E3H91kbFMMHv3cDtAGze2BAs Nh1gvA4uhjS/3+Xbxp0+5yUBQGt/hlDv5CIzFgPen1uZWFmG7vBaQHYxFKE6ggznFzlN9Eu rChGoFcfwRlgsrY5De8Z5X3sUrFNWNu8VqpkTPbDefDZPNqfW/cbsMwv0dROofKnMoVXBB1 lFrwdSRAHpnahCDWL6rmA== X-UI-Out-Filterresults: notjunk:1;V01:K0:0cDrI8HMfhs=:nFKmlodkQiU4JcFg/vCFaF 4Zr4brNjfBitL96VN+YHROQw80Se5i/aq5yOyhKYsFyz7e6xSzvatQjAPB8KokSt1WNtG4ruT KlCNIAYIoltW92J8b1rLl4br6LWN6ok6SjJMz545FCzR7Yi+iBKsNgcN2rIU/+DFnNzKtF6mu N2eeeyKADEFjfjftL7vyaT+1JQR34tfBSFVV75YvGsq7FbEFSzf4U0Xpre15Jc2baAFPCX4yr L+FhhRrje6QlTY+TTRdtFI68fPSQjPYTmdXtrNNDVBaS8U/3+ovjJwHFYITdyw1nXNyrYjyxe NJsseVAybX36sywjUyelJfldasryNjWCu410ONYETX2mco3S0Nflze0q5ehccsBf4tnVrbx+x KPeG1G2pbPsX/McGcWxkKcL9eDXCJlHvBQe+hZWZNpJsUVgCMjP4nfrXOCkXatQxmvS0v0iI8 46dbKZt+dXkPtCC/mt4uN3oX1FLyMV8pdiBKvBV+pRsfC9DOX7ZeCACdpqeTwyIrRmw052RAM YYycZ8hn4ZFZbGHd0Hm7xZp8ZCJVZ2lHy6WcmnNXtfkjqqgB6tol3QCUzEPTjNSPd6EL+bn5k ayJi1hAWcLlO7Y5UVFRH+JDEx7fkM6iR6y0kJuU1vlgKMQ/5wB6rMnZJH7gMBMwv0QTrEEUx0 a5Lhjdqb99HKNwYZom2BCBZMwzEGHwtlUI1r4DKSXEsvJyE0UFVsqTjKMSjxygZNJCtiMLUQc TDDnWwj5mlp+bOl8E24ChklHN5yKTcbvRBu4BM9zoQgI2VxG2WzrffFctX+/cwB/Hea4iBsI X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.15.3 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:218627 Archived-At: Mark Oteiza writes: > (defmacro case-lambda (&rest spec) > "Return an arbitrary arity function." > (declare (indent 0) (debug (&rest (pcase-QPAT body)))) > (let ((args (make-symbol "args"))) > `(lambda (&rest ,args) > (pcase-exhaustive ,args ,@spec)))) I think I would prefer to spell it out and use the expanded form instead. It's nice, but I'm not convinced it would be worth adding. OTOH, as an occasional user of `pcase-lambda' I know that it's a bit cumbersome to use. But `case-lambda' defers all calculation into the argument list - I'm not sure if this is so useful all the time. BTW, what I sometimes do miss is `pcase-defun'. Michael.