On Thu, Jan 23, 2014 at 4:25 PM, Brendan Eich <[email protected]> wrote: > Tab Atkins Jr. wrote: >> Using value objects would make this explicit, and would allow >> convenient operator overloading, so you can do: >> >> var x = CSS.px(5); >> var y = CSS.px(10); >> var z = x + y; > > > With value objects, you could do even better: > > // something declarative to import suffix px as CSS.px here > > let x = 5px; > let y = 10px; > let z = x + y;
Ooh, I didn't realize suffixes were extensible! That looks *amazing*. >> I'm okay with this being 1 or 2 years down the road. > > That's my time frame, and ES7's. Cool. >> Alternately, how close can I get to truly immutable objects? I want >> something that can't be expando'd or altered in any way, so our impl >> can share objects when possible. > > Without value objects, you have reference-based identity, so > > CSS.px(5) !== CSS.px(5) > > No bueno. You want value objects. Working on it for next week's TC39 > meeting. Yup, indeed. Looking forward to this! ~TJ _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

