Re: Versioning?

2011-12-20 Thread Xavier MONTILLET
@Gavin Barraclough : I don't get the point of having the code break in old browsers... When you use this code: use version 6; with ({hi:Hi!}) alert(hi); It will throw an error and this is what you want it to do. Just like when you used use strict; Of course, it would work in old browsers and

Have the scope accessible as an object and implement a new with operator / block

2011-12-20 Thread Xavier MONTILLET
Hi, There is this one thing in JavaScript I really hate: You can't so {{$varName}} as in PHP so as soon as you need dynamic names, you have to put everything in an object... I don't know how scopes are implemented but there should be a not so hard way to make them available as JS objects. The

Re: Have the scope accessible as an object and implement a new with operator / block

2011-12-20 Thread Erik Corry
2011/12/20 Xavier MONTILLET xavierm02@gmail.com: Hi, There is this one thing in JavaScript I really hate: You can't so {{$varName}} as in PHP so as soon as you need dynamic names, you have to put everything in an object... I don't know how scopes are implemented Not being able to get

Re: Have the scope accessible as an object and implement a new with operator / block

2011-12-20 Thread Xavier MONTILLET
What kind of optimizations? The variable have to be in some kind of structure and it should be possible to read it as an object the same way you read it as variables... The fact that the inheritance between scopes I spoke of would be hard to implement because they keep a one level deep structure

Re: Versioning?

2011-12-20 Thread Xavier MONTILLET
I was speaking of ES 5 + use strict; since it needs you to opt-in. ES 5 itself doesn't. Given the nature of the changes in ES6 I'm not sure that there will be much scope to write code that benefits form utilizing ES6 and yet would still run on a browser supporting only ES5. If you want to

Re: Have the scope accessible as an object and implement a new with operator / block

2011-12-20 Thread Axel Rauschmayer
I would love to have something like Python’s locals(): http://docs.python.org/py3k/library/functions.html#locals It would not allow modifications, but it would still be very useful. -- Dr. Axel Rauschmayer a...@rauschma.de home: rauschma.de twitter: twitter.com/rauschma blog: 2ality.com

Re: Have the scope accessible as an object and implement a new with operator / block

2011-12-20 Thread Andreas Rossberg
On 20 December 2011 11:24, Xavier MONTILLET xavierm02@gmail.com wrote: What kind of optimizations? Optimizations such as putting variables in registers, putting variables on the stack, overlaying variables with disjoint life times, eliminating some variables entirely, minimizing closure

Re: Have the scope accessible as an object and implement a new with operator / block

2011-12-20 Thread Xavier MONTILLET
Well what about you add an if that checks whether scope is used or not and if it is disables these optimizations? On Tue, Dec 20, 2011 at 11:46 AM, Andreas Rossberg rossb...@google.com wrote: On 20 December 2011 11:24, Xavier MONTILLET xavierm02@gmail.com wrote: What kind of optimizations?

Re: Have the scope accessible as an object and implement a new with operator / block

2011-12-20 Thread Xavier MONTILLET
In a way it would be like proxies: slow if used but doesn't change anything if you don't use them. On Tue, Dec 20, 2011 at 11:51 AM, Xavier MONTILLET xavierm02@gmail.com wrote: Well what about you add an if that checks whether scope is used or not and if it is disables these optimizations?

Re: noSuchMethod: funargs + invoke-only-phantoms

2011-12-20 Thread Tom Van Cutsem
- @Tom: Found bugs in DirectProxies.js Thanks for reporting, but I don't think these are bugs: 1. Properties created via assignment gets `false' value for descriptor attributes; should be true. E.g. foo.bar = 10, where `foo' is direct proxy, makes bar non-configurable I can't

Re: [Proxies] VirtualHandler fundamental traps: defaults

2011-12-20 Thread Tom Van Cutsem
2011/12/17 David Bruant bruan...@gmail.com I don't think that the default you propose are a good idea, because it will make bugs harder to track. Object.getOwnPropertyDescriptor returning 'undefined' for any property does not sound like a good idea. Likewise for Object.getOwnPropertyNames

Re: Have the scope accessible as an object and implement a new with operator / block

2011-12-20 Thread Andreas Rossberg
On 20 December 2011 11:51, Xavier MONTILLET xavierm02@gmail.com wrote: Well what about you add an if that checks whether scope is used or not and if it is disables these optimizations? That's what's done for things like the `arguments' object. And it's an ugly mess, in terms of semantics as

Re: [Proxies] VirtualHandler fundamental traps: defaults

2011-12-20 Thread David Bruant
[off-list] Le 20/12/2011 14:11, Tom Van Cutsem a écrit : VirtualHandlers are for creating virtual objects (for instance, a remote object proxy for which there is no real physical target object acting as a backing store). Speaking of which, I'm reading the PDF version Structure and

Re: Are Private name and Weak Map the same feature? and the Assoc API

2011-12-20 Thread Andreas Rossberg
On 17 December 2011 00:24, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote: I used to think this way about private names and proxies, and argued for this position. However, I was wrong and it's a bad idea.  Here's why: You might want to implement an object with a private field and a public

Re: Alternative proposal to privateName.public

2011-12-20 Thread David Bruant
Le 17/12/2011 14:24, David Bruant a écrit : (...) # Proposal What about a 'trapped' boolean in the private name constructor? It would work this way: `JavaScript var n = new Name(false); // don't trap when used is a proxy var p = new Proxy({}, maliciousHandler); p[n] = 21; // the

Re: Are Private name and Weak Map the same feature? and the Assoc API

2011-12-20 Thread David Bruant
Le 20/12/2011 14:45, Andreas Rossberg a écrit : On 17 December 2011 00:24, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote: I used to think this way about private names and proxies, and argued for this position. However, I was wrong and it's a bad idea. Here's why: You might want to implement

Re: Versioning?

2011-12-20 Thread Jason Orendorff
On Mon, Dec 19, 2011 at 12:21 PM, Xavier MONTILLET xavierm02@gmail.com wrote: And what do you mean by opt-in for ES6 ? New syntax ? Everything in ES 6 ? Not everything. Let me try to explain the opt-in. ES6 must not break existing code. This is non-negotiable. Nobody will use a Web browser

Re: Versioning?

2011-12-20 Thread David Bruant
Le 20/12/2011 22:45, Jason Orendorff a écrit : As I understand the current proposals, opt-in will be required for scripts that (...) - need the top-level scope to be declarative, rather than tied to the global object as in ES5; Where is the proposal for this? I can't find it at