[racket-dev] Fancy application/automatic anonymous functions

From: John Clements (clements at brinckerhoff.org)
Date: Tue May 17 15:20:56 EDT 2011

On May 17, 2011, at 12:14 PM, Sam Tobin-Hochstadt wrote:

> Scala has the nice feature that if you write something like this:
>  lst.map(_ - 1)
> It automatically rewrites to a function like this:
>  lst.map(x => x - 1)
> This makes writing some higher-order functions much easier.
> 
> Of course, it's easy to make this using a macro and `#%app'.  You can
> see the result here:
>  github.com/samth/fancy-app
> 
> I'm planning to put this in `unstable/app', and if there's interest
> I'll think about incorporating it into the default `#%app', after some
> experience with it.
> 
> Lots of people have written similar things (`cut' in SRFI 26, Jay's
> `super-cut', etc), but I'd like to move towards using it implicitly.

Just to clarify (your README is a bit terse ...): this rewrites all applications where one of the terms is the free identifier '_' . Correct me if I'm wrong.

I think it's vaguely amusing that the wisdom that we've gained in developing sophisticated syntactic tools convinces us 90% of the time not to use them.


John





-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4624 bytes
Desc: not available
URL: <http://lists.racket-lang.org/dev/archive/attachments/20110517/713b4fd5/attachment.p7s>

Posted on the dev mailing list.