Subject: Re: Optional parameters in lambdas.
From: rpw3@rpw3.org (Rob Warnock)
Date: Mon, 24 Mar 2008 02:04:02 -0500
Newsgroups: comp.lang.lisp
Message-ID: <cuOdneLdPuT_z3ranZ2dnUVZ_tGonZ2d@speakeasy.net>
D Herring  <dherring@at.tentpost.dot.com> wrote:
+---------------
| Vagif Verdi wrote:
| > (defmacro -> (&body body)
| >    `(lambda (&optional x y z) ,@body))
| > Is it bad that there would be 2 or 1 unused parameter in most cases ?
| 
| There are various macros floating around that allow expressions such as
| (FN (+ !1 (* !2 !3))) => (lambda (!1 !2 !3) (+ !1 (* !2 !3)))
| to "do the right thing" by scanning for specially named symbols.
| 
| Maybe someone else can chime in with more details; I've seen these on 
| this group, but forget who posted them or what they were called.
+---------------

There was a long thread about LAMBDA shortcuts about a year ago.
[My own multiple-implicit-formals hack is called #$ and uses IGNORABLE
(as others have already mentioned) on formals named $1, $2, etc.]

Oh, wait! There was a reprise of the same discussion in early February
of this year, in one of the "Arc" threads talking about the Arc shortcut
syntax of [mod _ 42] expanding to (lambda (_) (mod _ 42)). Kenny started
it all (42 msgs) with <news:47ae04d2$0$25039$607ed4bc@cv.net>.


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607