Re: Jan 18 meeting notes

2012-01-20 Thread David Bruant
Le 20/01/2012 00:54, Brendan Eich a écrit : David Bruant mailto:bruan...@gmail.com January 19, 2012 1:15 AM Le 19/01/2012 02:27, Waldemar Horwat a écrit : Brendan: Kill typeof null. Replace it with Ojbect.isObject? What would be the semantics of this? It was not obvious but the precedent

Re: Jan 18 meeting notes

2012-01-20 Thread David Bruant
Le 20/01/2012 00:57, Brendan Eich a écrit : David Bruant mailto:bruan...@gmail.com January 19, 2012 1:43 AM Every time I've been thinking of an issue like this, the solution I've found was whoever runs first wins. This is not relevant to the example I showed. All in all, regardless of data or

Re: Jan 18 meeting notes

2012-01-20 Thread Brendan Eich
Andy Wingo mailto:wi...@igalia.com January 20, 2012 7:43 AM I had a hard time following the conclusions here. There does seem to be some uncertainty regarding ES6 features in non-strict code, but is in strict mode and in modules is this (DaveH's new proposal) the consensus? Thanks, Andy I

Re: Jan 18 meeting notes

2012-01-20 Thread Brendan Eich
David Bruant mailto:bruan...@gmail.com January 20, 2012 12:51 AM Le 20/01/2012 00:54, Brendan Eich a écrit : That came up too: Object.type(x) would be the new typeof. But it will take a while to get adoption, it's not built-in so monkey-patchable etc. If Object.isObject has the second definition

Re: Jan 18 meeting notes

2012-01-20 Thread Wes Garland
Object.classOf(x) - Object.prototype.toString.call (x).slice(8, -1) using the original value of O.p.toString. Comments? Including the name of the module that the class comes from might be nice. We do that for classes implemented in C in GPSEE modules today by being bad -- we modify

Re: Jan 18 meeting notes

2012-01-20 Thread Isaac Schlueter
On Wed, Jan 18, 2012 at 17:27, Waldemar Horwat walde...@google.com wrote: Octal constants: Useful as arguments to chmod. Proposal for 0o123 (as well as 0b01110). MarkM: Concerned about 0O123. Waldemar: Nothing unusul here. We've lived with 36l (meaning 36 long instead of 361) in Java and C++

Re: Jan 18 meeting notes

2012-01-20 Thread Brendan Eich
Isaac Schlueter mailto:i...@izs.me January 20, 2012 1:00 PM On behalf of Node.js, thank you. This is the right call. On behalf of old Unix people, thank us -- and you! :-) FWIW (ie, not much), I'm personally 100% ambivalent about 0O and 0B. 0O is less visually distinctive than 0o, and caps

Re: Jan 18 meeting notes

2012-01-19 Thread David Bruant
Le 19/01/2012 02:27, Waldemar Horwat a écrit : Brendan: Kill typeof null. Replace it with Ojbect.isObject? What would be the semantics of this? -- Object.isObject(null); // false Object.isObject({}); // true // so far so good :-) Object.isObject(function(){}) // ? -- I'd like to

Re: Jan 18 meeting notes

2012-01-19 Thread David Bruant
Le 19/01/2012 06:44, Brendan Eich a écrit : Use __proto__ in object literals to do a put (assuming that a __proto__ getter/setter was created in Object.prototype) instead of a defineProperty? All modes or only nonstrict mode? Allen: Make such use of __proto__ to be a synonym for |. If a | is

Re: Jan 18 meeting notes

2012-01-19 Thread Herby Vojčík
Waldemar Horwat wrote: Which ES6 features can be backported into non-strict mode? (blank: no significant issues; ?: possible issues; x: semantics conflict with de facto web) ? let (syntax issues) x const (divergent semantics) x function in block (divergent semantics) ? destructuring

Re: Jan 18 meeting notes

2012-01-19 Thread Brendan Eich
Herby Vojčík mailto:he...@mailbox.sk January 19, 2012 6:32 AM What about obj.{ ... } literal extension? It is not mentioned, and afaict is unproblematic, too. Thanks, we did miss that one -- it was among the object literal extensions not at the top level of harmony:proposals. /be

Re: Jan 18 meeting notes

2012-01-19 Thread Brendan Eich
David Bruant mailto:bruan...@gmail.com January 19, 2012 1:15 AM Le 19/01/2012 02:27, Waldemar Horwat a écrit : Brendan: Kill typeof null. Replace it with Ojbect.isObject? What would be the semantics of this? It was not obvious but the precedent stems from the strawman that led to my

Re: Jan 18 meeting notes

2012-01-19 Thread Brendan Eich
David Bruant mailto:bruan...@gmail.com January 19, 2012 1:43 AM Every time I've been thinking of an issue like this, the solution I've found was whoever runs first wins. This is not relevant to the example I showed. We have a de-facto standard with SpiderMonkey that protects an object from

Re: Jan 18 meeting notes

2012-01-19 Thread Andrea Giammarchi
for all WeakMap shims and examples I have seen this to guard the key as object is basically: Object.isObject = function isObject() { return Object(value) === value; }; why such difference with indeed function ambiguity with your first example? Agreed on Object.type since it's easy to monkey

Re: Jan 18 meeting notes

2012-01-19 Thread Brendan Eich
Andrea Giammarchi mailto:andrea.giammar...@gmail.com January 19, 2012 4:10 PM for all WeakMap shims and examples I have seen this to guard the key as object is basically: Object.isObject = function isObject() { return Object(value) === value; }; why such difference with indeed function

Re: Jan 18 meeting notes

2012-01-19 Thread Andrea Giammarchi
+1 for the returned class ... also if we distinguish between array and Array then the new Boolean/Number/String case can be covered via Number, if object, rather than number, which is cool. Th only weird thing would be object rather than Object, as if its [[class]] is unknown br On Fri, Jan 20,

Jan 18 meeting notes

2012-01-18 Thread Waldemar Horwat
My rough notes from today's meeting. Waldemar -- DaveH: One JavaScript (Versioning debate) It's inevitable (and necessary) that ES6 will have some breaking changes around the edges. How to opt-in? DaveH's versioning proposal: A module block or file include is the only

Re: Jan 18 meeting notes

2012-01-18 Thread Brendan Eich
Waldemar Horwat mailto:walde...@google.com January 18, 2012 5:27 PM My rough notes from today's meeting. Thanks yet again for these. Use __proto__ in object literals to do a put (assuming that a __proto__ getter/setter was created in Object.prototype) instead of a defineProperty? All modes