CTRL-\ might become your best friend, then. It inserts an honest-to-goodness lambda.

I *never* write "lambda" anymore in Racket code.

Neil T

On 08/30/2011 09:45 AM, Richard Cleis wrote:
I want to be able to:

#lang racket/L ; sacrifice L in honor of profoundly useful lambda

rac



On Aug 29, 2011, at 3:36 PM, Greg Hendershott wrote:

it wouldn't be necessary to create all these duplicate forms to avoid
writing (lambda () ...) This would cut down on code, and also make the
language more consistent.

I think Noel has it exactly right.

The common concept is "thunk".

The desire is, how to say it more succinctly.

Surely there should be one way to say it more succinctly, which works
with many forms?  As opposed to many forms each needing its variation
to say the one thing more succinctly?


So: How to say it more succinctly than (lambda () e)?  Or even the
i-can-haz-unicode way, (λ () e)?

(thunk e) is a first approximation. But, "thunk" is jargon, and it's
barely more succinct than (lambda () e).

So, how about any of these as the super succinct way:
(() e)
(\ e)
(λ e)

??

Actually I'm fine with (lambda () e) or (λ () e). I don't think a
couple extra parens are horrible, or I'd be writing C# or
cortex-fudge. And I don't think it's horrible for functions to be
first-class, and to express "here's some stuff to do" as "here's a
function".

2011/8/29 Noel Welsh<noelwe...@gmail.com>:
On Mon, Aug 29, 2011 at 8:05 PM, Eli Barzilay<e...@barzilay.org>  wrote:
There's also the semi-popular syntax extension change, like {E ...}
expanding to (λ () E ...), but that looks very confusing with
something like (thread {(printf "foo\n")}) -- so maybe do that with
the outer form: {thread (printf "foo\n")}.  Or maybe do that with a
macro instead: (e thread (printf "foo\n")), which will probably go the
way of `nested'.

Yeah, what about solving the problem of lambda's verbosity directly?
If fn or \ was shorthand for lambda, or

{ a1 ... | expr ... }

expanded to

(lambda (a1 ...) expr ...)

it wouldn't be necessary to create all these duplicate forms to avoid
writing (lambda () ...) This would cut down on code, and also make the
language more consistent.

N.

_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users

_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users


_________________________________________________
   For list-related administrative tasks:
   http://lists.racket-lang.org/listinfo/users

_________________________________________________
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/users

Reply via email to