On Oct 4, 2011, at 6:17 AM, Russell Leggett wrote:

> That's why I was trying to make it less error prone and verbose.

Understood, but we should not "scenario solve" with ad-hoc, compound additions. 
We seek orthogonal primitives that compose well, and the harder scenarios 
ideally desugar.


>> If you are assuming .{ binds to the result of evaluating the unparenthesized
>> <| expression to its left, then there's a precedence problem.
> 
> I was assuming <| was evaluated first because that's how I read
> Allen's pattern working as well. I'm wondering how Allen's even works
> now.

The <| operator must not take an arbitrary expression on its right, because 
that allows for mutation of [[Prototype]] on an escaped "old-born" object.

But <| could take literal forms and "concatenations" of literal forms via 
.prototype.{...}.constructor, e.g.

Or <| binds tighter than . (but I think this would be a mistake).


> My thought was that if func <| obj => func, then .{ would go on
> the resulting function.

No, func <| {...} makes an object whose [[Prototype]] is func.

/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to