getPrototypeOf() is "meant" to be readonly
for consistency with __proto__ a new setPrototypeOf() method is considered in ECMAScript 6
Node.js is javascript, if you remove __proto__ then it's not javascript.
That being said, sorry but imo Domenic's dict module is based on a poor design.
Node.js is javascript, if you remove __proto__ then it's not javascript.
That being said, sorry but imo Domenic's dict module is based on a poor design. The "in" operator is fucking-terrible-uber-extremly slow thing compared with a comparison with undefined:
On Thu, Sep 19, 2013 at 5:08 PM, Gagle <gagl...@gmail.com> wrote:
Node.js is javascript, if you remove __proto__ then it's not javascript.
Funny thing to say about something that is not actually part of the language. Check yourself before wreck yourself?
That being said, sorry but imo Domenic's dict module is based on a poor design. The "in" operator is fucking-terrible-uber-extremly slow thing compared with a comparison with undefined:If only there was a public website that he could post the code, which would allow you to modify it and send him your changes...Rick
--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
On Thu, Sep 19, 2013 at 5:33 PM, Rick Waldron <waldro...@gmail.com> wrote:
On Thu, Sep 19, 2013 at 5:08 PM, Gagle <gagl...@gmail.com> wrote:
Node.js is javascript, if you remove __proto__ then it's not javascript.
Funny thing to say about something that is not actually part of the language. Check yourself before wreck yourself?Wait, is it in or out? I know at one point it was spec'd for es6, right? Don't get me wrong -- I'd love to hear that it got the axe, especially in light of Object.setPrototypeOf, but I haven't seen anything about that.
Andrew, long story short, it's out of our hands. __proto__ is implemented by v8 and we just use it as-is. If v8 decides to remove __proto__ then node would adopt that at some point, but it's not going to go out of its way to change the language past the defaults.
On Thu, Sep 19, 2013 at 5:03 PM, Rick Waldron <waldro...@gmail.com> wrote:
On Thursday, September 19, 2013, Dean Landolt wrote:On Thu, Sep 19, 2013 at 5:33 PM, Rick Waldron <waldro...@gmail.com> wrote:
On Thu, Sep 19, 2013 at 5:08 PM, Gagle <gagl...@gmail.com> wrote:
Node.js is javascript, if you remove __proto__ then it's not javascript.
Funny thing to say about something that is not actually part of the language. Check yourself before wreck yourself?Wait, is it in or out? I know at one point it was spec'd for es6, right? Don't get me wrong -- I'd love to hear that it got the axe, especially in light of Object.setPrototypeOf, but I haven't seen anything about that.
Sometime before July and then formally agreed on in July, then any back to an annex.Rick
That being said, sorry but imo Domenic's dict module is based on a poor design. The "in" operator is fucking-terrible-uber-extremly slow thing compared with a comparison with undefined:If only there was a public website that he could post the code, which would allow you to modify it and send him your changes...Rick
--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscribe@googlegroups.com.
--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
On Thu, Sep 19, 2013 at 5:08 PM, Gagle <gagl...@gmail.com> wrote:
Node.js is javascript, if you remove __proto__ then it's not javascript.
Funny thing to say about something that is not actually part of the language. Check yourself before wreck yourself?
That being said, sorry but imo Domenic's dict module is based on a poor design. The "in" operator is fucking-terrible-uber-extremly slow thing compared with a comparison with undefined:If only there was a public website that he could post the code, which would allow you to modify it and send him your changes...
If you don't find a place for a writable __proto__ in **your** use case, just don't use it.
--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "nodejs" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/nodejs/HvwsNAuAN2Q/unsubscribe.
To unsubscribe from this group and all its topics, send an email to nodejs+un...@googlegroups.com.
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
Andrew, long story short, it's out of our hands. __proto__ is implemented by v8 and we just use it as-is. If v8 decides to remove __proto__ then node would adopt that at some point, but it's not going to go out of its way to change the language past the defaults.
Makes sense.I wonder if creating a fork of v8 without __proto__ and drumming up public knowledge would do anything to affect the minds of the decision-makers - whoever they might be. (In my opinion v8 and ecmascript committee are somewhat chicken and egg)
El jueves, 19 de septiembre de 2013 23:33:28 UTC+2, Rick Waldron escribió:On Thu, Sep 19, 2013 at 5:08 PM, Gagle <gagl...@gmail.com> wrote:
Node.js is javascript, if you remove __proto__ then it's not javascript.
Funny thing to say about something that is not actually part of the language. Check yourself before wreck yourself?
V8 implements the __proto__ property, and V8 is a javascript engine. I don't care if it's not part of the ecma spec. Furthermore, as Nathan Rajlich says, we cannot do anything. If you begin changing things then I propose to remove the strict equal operator (===) and fix the equal operator (==) to work like ===.
That being said, sorry but imo Domenic's dict module is based on a poor design. The "in" operator is fucking-terrible-uber-extremly slow thing compared with a comparison with undefined:If only there was a public website that he could post the code, which would allow you to modify it and send him your changes...
Why should I do this? Being open source doesn't mean that I have to redesign and reimplement the whole project of other people.
Nothing to say to Andrew.
--
On Friday, September 20, 2013, Gagle wrote:
El jueves, 19 de septiembre de 2013 23:33:28 UTC+2, Rick Waldron escribió:On Thu, Sep 19, 2013 at 5:08 PM, Gagle <gagl...@gmail.com> wrote:
Node.js is javascript, if you remove __proto__ then it's not javascript.
Funny thing to say about something that is not actually part of the language. Check yourself before wreck yourself?
V8 implements the __proto__ property, and V8 is a javascript engine. I don't care if it's not part of the ecma spec. Furthermore, as Nathan Rajlich says, we cannot do anything. If you begin changing things then I propose to remove the strict equal operator (===) and fix the equal operator (==) to work like ===.Sure, let me put that on my "Break The Whole Web" todo list.You've just wrecked yourself twice in row. Care to go for a hat-trick?
Rick
--That being said, sorry but imo Domenic's dict module is based on a poor design. The "in" operator is fucking-terrible-uber-extremly slow thing compared with a comparison with undefined:If only there was a public website that he could post the code, which would allow you to modify it and send him your changes...
Why should I do this? Being open source doesn't mean that I have to redesign and reimplement the whole project of other people.
Nothing to say to Andrew.
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscribe@googlegroups.com.
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
__proto__ is perfectly fine. Don't break it.
You received this message because you are subscribed to a topic in the Google Groups "nodejs" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/nodejs/HvwsNAuAN2Q/unsubscribe.
To unsubscribe from this group and all its topics, send an email to nodejs+un...@googlegroups.com.
If you want to store a non-string as a key you have to use a map.
The situations I'm talking about were both cases where I needed to set the __proto__ of a function to inherit from another object or function. One is an instance where Function.create is insufficient because I did not create the originating function.
Object.getPrototypeOf would not help me at all since it would not allow me to assign a *new* __proto__ to a function I just created, but I *am* mistaken, Function.create() would be sufficient in my cases.There's still more flexibility in __proto__ to reassign __proto__, which Function.create and Object.getPrototypeOf would not provide.
--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
There's a combination of things going on here:1. There has been discussion on ESDiscuss[1]
of __proto__ and the insufficiencies of Object.create, specifically when you want to set the __proto__ of something other than an Object (e.g., Functions, Errors, Arrays, etc...).
I don't know what the current state of this feature is, but I know it at least has been raised and acknowledged as a gap in functionality that __proto__ fills[2,3].
2. I was mistaken earlier when I said Function.create would be insufficient for my use cases (and thus would require `fn.__proto__ = ...`). In fact, in both of my use cases I am setting the proto of functions I have created, and therefore a Function.create (where it to exist, see the next point) would be sufficient.
3. Regarding times where I may want to assign the proto of objects, functions, arrays, errors, I don't own, I personally don't have a usecase ATM, but I can easily imagine how that would be incredibly useful for any type of library that shims, wraps or augments core or any built-ins to extend their functionality seamlessly. If these sorts of libraries don't already exist, I would hate to unnecessarily break the requisite functionality before they have a chance to.
Please don't, `__proto__` is great if not abused. Swapping out the prototype of
an object is extremely useful.
On Tue, Sep 24, 2013 at 8:24 PM, Mark Hahn <ma...@reevuit.com> wrote:
I don't know why this is in a node discussion group. Obviously node is not going to change V8.
--
> It's relevant to the community to have technical discussions about the platform.
This forum is about the node platform, not V8.
--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Thanks for the clarifications. It seems I was mistaken about Object.setPrototypeOf.
You mean it isn't going to be in the standard.Let's stop talking about Function.create. It's not a thing and never will
be. The use cases I see on that thread, for Function.create and <|
(triangle literal, aka proto operator) are solved using the extends
operator with ES6 classes.