Right. In this case, pattern matching object literals is a good metaphor,
assignment (lhs is "new", rhs is "old") isn't.
On Apr 6, 2011, at 17:12 , David Herman wrote:
> The way I think about it is, whenever you have X: Y where X and Y are
> identifiers, the one on the left is fixed and the one on the right is
> variable.
>
> - In an object literal, the one on the left is a symbolic property name and
> the one on the right is a variable.
>
> - In destructuring, the one on the left is the fixed name of the property
> you're destructuring and the one on the right is the variable name you're
> locally binding.
>
> - In module importing, the one on the left is the fixed name of the foreign
> export you're importing, and the one on the right is the variable name you're
> locally binding.
>
> Dave
>
> On Apr 4, 2011, at 9:51 AM, P T Withington wrote:
>
>> On 2011-04-04, at 12:40, Sam Tobin-Hochstadt wrote:
>>
>>>> Renaming:
>>>> - I find this syntax slightly unintuitive: import Geometry.{draw:
>>>> drawShape}
>>>> At first glance this would mean for me: rename drawShape to draw. "draw"
>>>> feels to me like the result of the import.
>>>
>>> This is based on the destructuring syntax, where this:
>>>
>>> let {draw: drawShape} = ... some expression ...;
>>>
>>> also binds the identifier |drawShape|.
>>
>> FWIW, I read these destructuring patterns backwards too. Must be a
>> left/right brain thing. Something I will have to learn the hard way to make
>> it stick.
>> _______________________________________________
>> es-discuss mailing list
>> [email protected]
>> https://mail.mozilla.org/listinfo/es-discuss
>
>
--
Dr. Axel Rauschmayer
[email protected]
twitter.com/rauschma
home: rauschma.de
blog: 2ality.com
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss