Thank you for the explanations.  Block lambda syntax with pipes makes more
sense to me now.  Given that most of the stuff I do is asynchronous though,
I personally would prioritize the semantics this way:

1.  Short function syntax with lexical this.
4.  Block lambdas with TCP return.

Thanks again,
kevin

On Thu, Mar 8, 2012 at 8:43 AM, Herby Vojčík <[email protected]> wrote:

>
>
> Russell Leggett wrote:
>
>> Its mostly about being able to make control abstractions - being able to
>> make your own loops, conditionals, DSLs - and while you can get close
>> with anonymous functions, you'll never get there, because someone will
>> want to use 'return' or 'break' or 'throw' and the behavior is all
>> screwed up (as we all know).
>>
>> OTH - if you call a TCO obeying block asynchronously and it calls
>> return, what happens? Does it throw an error? Is there a way to make
>> that blow up early (maybe not statically, but as part of passing the
>> block to the function in the first place?) If not, I fear you may add
>>
> You don't know if it does a bad thing, until you let it run.
> Alternatively, you may want to disallow any and all async lambda blocks.
> But from what was presented on the list, async lambda blocks are pefectly
> ok until they do the bad thing - only then the error occurs.
>
> Which is ok, we are in dynamic language, after all.
>
> Herby
>
>  more confusion than any gain you would get with TCP.
>>
>> - Russ
>>
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to