On 09/29/2011 05:08 PM, Bob Nystrom wrote:
On Thu, Sep 29, 2011 at 4:22 PM, Erik Arvidsson <erik.arvids...@gmail.com <mailto:erik.arvids...@gmail.com>> wrote: However, it seems like all the issues we have seen are due to us trying to solve issues that already exist today with prototype based "classes". These involve (but are not limited to): 1. Don't let uninitialized objects escape 2. Ensure the shape of the instance 3. Initialization of instance properties 4. Allow const classes 5. Allow const properties 6. Play well with future type guards I was tinkering with some syntax ideas last night and had the same revelation. It feels like we've over-constrained ourselves.
I get that feeling as well.
In particular, if you're willing to discard 2 and 6 (basically not worry about a declarative form for instance properties) I think it gets a lot easier.
Yes, it's easier, but you'd also lose any convenient way of doing 5. 2, 4, and 5 are the most important new features, and there isn't enough value in classes to add them without those. If you find it difficult to come up with a proposal that can accommodate them, it's a sign that you're about to design yourself into a corner. Constraint 1 is the one above that I'd relax. All simple ways I've seen to to do it are variants of zero-inheritance. Waldemar _______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss