On Aug 30, 2011, at 2:50 PM, Neil Toronto <neil.toro...@gmail.com> wrote:
> CTRL-\ might become your best friend, then. It inserts an honest-to-goodness > lambda. ... but that triggers unicode. I like old fashioned ASCII files. :) rac > > 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 _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users