Re: Modules: compile time linking (was Re: Modules feedback, proposal)

2012-04-02 Thread Claus Reinke
I think you misunderstand the relationship between what Dave said, and The purpose of my questions is to remove misunderstandings - it is entirely possible that some of them are on my side!-) If you have dynamic modules, you can't use them to export any compile-time constructs, like macros,

Re: arrow function syntax simplified

2012-04-02 Thread Jorge
On Apr 2, 2012, at 6:48 AM, Dmitry Soshnikov wrote: P.S.: Offtopic footnote. 6 types: 1. Function Declaration (FD). Features: hoisting, always named. 2. Function Expression (FE). Features: no hoisting, available for immediately invoked functions (IIF). 3. Named Function

Re: arrow function syntax simplified

2012-04-02 Thread Brendan Eich
Jorge wrote: No [[Scope]]? I must be missing something! Given this code: bound= (function a(i) { return function b () { return i }.bind(null) })(27); bound() -- 27 How can bound() resolve `i` without a [[Scope]] ? By delegating to bound()'s [[TargetFunction]], which does have a

Re: arrow function syntax simplified

2012-04-02 Thread Jorge
On Apr 2, 2012, at 2:12 PM, Brendan Eich wrote: Jorge wrote: No [[Scope]]? I must be missing something! Given this code: bound= (function a(i) { return function b () { return i }.bind(null) })(27); bound() -- 27 How can bound() resolve `i` without a [[Scope]] ? By delegating to

Re: arrow function syntax simplified

2012-04-02 Thread Brendan Eich
Jorge wrote: I saw it here:http://www.yuiblog.com/blog/2012/03/30/what-is-the-meaning-of-this Right -- I think Doug was remembering the Harmony of My Dreams sharp-functions (http://brendaneich.com/2011/01/harmony-of-my-dreams/#sharp_functions), but arrows express mutable function objects

Re: Protected Protocol

2012-04-02 Thread Irakli Gozalishvili
Hi David, Your protected work reminds me a lot of what we did with `namespcase` module in jetpack: https://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/api-utils/namespace.html Which I also blogged about some time ago: http://jeditoolkit.com/2012/03/15/namespaces.html#post In

Re: arrow function syntax simplified

2012-04-02 Thread Douglas Crockford
On 4/2/2012 8:24 AM, Brendan Eich wrote: Jorge wrote: I saw it here:http://www.yuiblog.com/blog/2012/03/30/what-is-the-meaning-of-this Right -- I think Doug was remembering the Harmony of My Dreams sharp-functions (http://brendaneich.com/2011/01/harmony-of-my-dreams/#sharp_functions), but

Re: arrow function syntax simplified

2012-04-02 Thread Brendan Eich
Douglas Crockford wrote: On 4/2/2012 8:24 AM, Brendan Eich wrote: Jorge wrote: I saw it here:http://www.yuiblog.com/blog/2012/03/30/what-is-the-meaning-of-this Right -- I think Doug was remembering the Harmony of My Dreams sharp-functions

Re: arrow function syntax simplified

2012-04-02 Thread Dmitry Soshnikov
On Mon, Apr 2, 2012 at 12:47 PM, Brendan Eich bren...@mozilla.com wrote: Douglas Crockford wrote: On 4/2/2012 8:24 AM, Brendan Eich wrote: Jorge wrote: I saw it here:http://www.yuiblog.com/**blog/2012/03/30/what-is-the-**

Re: Do Maximally Minimal classes carry their weight?

2012-04-02 Thread Erik Arvidsson
The main issue you will see if you do user studies on people trying to do OOP in JS is that the way to set up the prototype chain in ES3/5 is too hard. There is a reason why almost all JS libraries add ways to make this easier. With the let C = B | function() { ... }.prototype.{ ... }.constructor

Re: Do Maximally Minimal classes carry their weight?

2012-04-02 Thread Tab Atkins Jr.
On Mon, Apr 2, 2012 at 2:39 PM, Erik Arvidsson erik.arvids...@gmail.com wrote: The main issue you will see if you do user studies on people trying to do OOP in JS is that the way to set up the prototype chain in ES3/5 is too hard. There is a reason why almost all JS libraries add ways to make

Re: arrow function syntax simplified

2012-04-02 Thread Allen Wirfs-Brock
On Apr 2, 2012, at 12:47 PM, Brendan Eich wrote: ... We had an agreement last year in TC39 to avoid making new shorter function syntax implicitly freeze where the new shorter syntax falls in full function syntax's general body-plan. This was the impetus for the # prefix, which also can

Re: arrow function syntax simplified

2012-04-02 Thread Brendan Eich
Allen Wirfs-Brock wrote: No doubt I'm repeating myself fro a previous message, so I'll be more forceful. dynamic this is a core OO concept but dynamic this in a non-method context is an abomination. The problem is non-method context is ill-defined in JS (ES5.1 or lower), without extensions.

Re: arrow function syntax simplified

2012-04-02 Thread Jorge
On Apr 2, 2012, at 9:47 PM, Brendan Eich wrote: Douglas Crockford wrote: It seems I misunderstood what we were agreeing to. I think the (this...) form is critically important, and the immutability thing as well. (...) I agree that leading |this| could be important for dynamic

Re: Do Maximally Minimal classes carry their weight?

2012-04-02 Thread John J Barton
Allen's original post on this thread offered two choices: 1) extended object literals, (good building blocks). 2) both, (because class gives 80% and thus they complement). Erik and Tab are arguing for 3) Min-max classes (we need 80%, not building blocks). The current winner no one wants:

Re: arrow function syntax simplified

2012-04-02 Thread Allen Wirfs-Brock
On Apr 2, 2012, at 4:22 PM, Jorge wrote: On Apr 2, 2012, at 9:47 PM, Brendan Eich wrote: Douglas Crockford wrote: It seems I misunderstood what we were agreeing to. I think the (this...) form is critically important, and the immutability thing as well. (...) I agree that leading