Re: Re: Block scoped prototype extensions

2017-07-05 Thread Erik Arvidsson
We tried to do this in the early Harmony era. We never managed to get this to work without unacceptable performance and semantic issues. If you dig around the archives looking for scoped object extensions or method extensions you can see the discussion that was had. It seems like

Re: Syntax to get same object that method was called on (Easymethodchaining)

2015-10-26 Thread Erik Arvidsson
There used to be a proposal in the ES5 timeframe for cascade expressions. This is what later made it into Dart using the `..` syntax. For ES the syntax was using `.{`. The proposal never gained a lot of traction so it was removed. https://github.com/google/traceur-compiler/issues/405 On Mon,

Re: treated as a module if ...

2015-07-05 Thread Erik Arvidsson
d. If a source file is imported it is parsed using the Module production. On Sun, Jul 5, 2015, 09:03 Mark Volkmann r.mark.volkm...@gmail.com wrote: Fill in the blank. In ES 2015, a JS source file is treated as a module if _. a. it exports anything b. it imports anything c. both a and b

Re: treated as a module if ...

2015-07-05 Thread Erik Arvidsson
, is not by default evaluated in strict mode? On Sun, Jul 5, 2015 at 8:27 AM, Erik Arvidsson erik.arvids...@gmail.com wrote: d. If a source file is imported it is parsed using the Module production. On Sun, Jul 5, 2015, 09:03 Mark Volkmann r.mark.volkm...@gmail.com wrote: Fill in the blank

Re: Move es-discuss to discuss.webplatform.org?

2015-06-22 Thread Erik Arvidsson
On Mon, Jun 22, 2015 at 7:44 AM Alan Schmitt alan.schm...@polytechnique.org wrote: ...other email clients may also have this feature. And you can mute whole threads in Gmail (and Inbox). https://support.google.com/mail/answer/47787?hl=en ___

Re: Unbound arrow functions?

2015-06-21 Thread Erik Arvidsson
probably a little more for Sweet.js macros than this. On Sat, Jun 20, 2015, 14:48 Herby Vojčík he...@mailbox.sk wrote: Dňa 20. júna 2015 19:31:18 CEST používateľ Erik Arvidsson erik.arvids...@gmail.com napísal: ES'15 provides dedicated method syntax. What are your use cases

Re: Unbound arrow functions?

2015-06-20 Thread Erik Arvidsson
ES'15 provides dedicated method syntax. What are your use cases that are not covered by methods? On Sat, Jun 20, 2015 at 12:13 PM Isiah Meadows impinb...@gmail.com wrote: There already exists a syntax for lexically bound functions, but couldn't there be an unbound counterpart? I am aware I

Re: Actual WeakSet Use Cases

2015-06-02 Thread Erik Arvidsson
Caitlin, in that example a normal Set works just as well. It can get gc'ed when you leave the iterate function. On Tue, Jun 2, 2015, 11:25 Caitlin Potter caitpotte...@gmail.com wrote: You could use it to avoid bugs involving circular references when iterating, for example: ```js function

Re: import ModuleSpecifier

2015-06-01 Thread Erik Arvidsson
Don't worry. It is going to be spec'ed as part of the module loader spec. http://whatwg.github.io/loader/ On Mon, Jun 1, 2015 at 10:47 AM John Barton johnjbar...@google.com wrote: This same claim could be made about every item in ECMAScript. Implementation variation in ModuleSpecifiers is no

Re: Can't do push in forEach

2015-05-14 Thread Erik Arvidsson
Still, the callback for forEach is called with 3 arguments; value, index and the array. This is clearly documented in the spec and mdn and other resources. On Thu, May 14, 2015, 10:42 Garrett Smith dhtmlkitc...@gmail.com wrote: On 5/14/15, Emanuel Allen emanuelal...@hotmail.com wrote:

Re: Subclassing Function

2015-05-07 Thread Erik Arvidsson
I filed one on us: https://code.google.com/p/v8/issues/detail?id=4087 On Thu, May 7, 2015 at 4:25 PM Allen Wirfs-Brock al...@wirfs-brock.com wrote: On May 7, 2015, at 12:50 PM, Francisco Tolmasky wrote: In the existing implementations I’ve tried, it appears I can’t do this: class

Re: 'stream' values

2015-05-06 Thread Erik Arvidsson
entries() returns an iterator. To sort you need to convert to an array first. let a = [...map.entries()]; a.sort() On Wed, May 6, 2015, 08:37 mohan.radhakrish...@cognizant.com wrote: That line matches my Java code almost exactly. My traceur transpiler though throws ‘TypeError:

Re: The WAIT for export and import

2015-05-01 Thread Erik Arvidsson
User agents can start to implement but shipping is gated on a loader spec. On Fri, May 1, 2015 at 9:54 AM Matthew Phillips matt...@bitovi.com wrote: How can user agents implement import/export without the loader spec? On Fri, May 1, 2015 at 8:07 AM, Florent FAYOLLE

Re: Re: Are ES6 modules in browsers going to get loaded level-by-level?

2015-04-23 Thread Erik Arvidsson
To add one more option. You can create a service worker that loads a single zip file from the server and then splits it up for the client. On Thu, Apr 23, 2015, 10:48 Domenic Denicola d...@domenic.me wrote: Indeed, there is no built-in facility for bundling since as explained in this thread

Re: Subclassing ES6 objects with ES5 syntax.

2015-04-23 Thread Erik Arvidsson
new.target is available in functions. On Thu, Apr 23, 2015, 21:02 C. Scott Ananian ecmascr...@cscott.net wrote: Is there any way to access `new.target` using ES5 syntax? It appears that the correct way to create a subclass using ES5 syntax is: ``` function MyPromise(executor) { var self

Re: Final ES6 Draft

2015-04-17 Thread Erik Arvidsson
Allen, this could never have happened without you. Thank you for all the hard work. On Fri, Apr 17, 2015 at 9:32 AM Jason Orendorff jason.orendo...@gmail.com wrote: Congratulations, everyone, on this milestone, and thanks for your work. Looking back all the way to ES5, it's striking just how

March 26 2015 Meeting Notes

2015-04-03 Thread Erik Arvidsson
(BE), Erik Arvidsson (EA), Adam Klein (AK), Jordan Harband (JHD), Mark Miller (MM), Istvan Sebestyen (IS), Jafar Husain (JH), Rick Waldron (RW) ## Private state continued KS: the nested stuff part of the private state implementation might be more controversial, but please note that it's separable. KS

Re: Class double-bind

2015-03-05 Thread Erik Arvidsson
Traceur does not give any history on this but I also remember having this discussion in a f2f meeting. It was all about js has always been mutable, lets not change that. If you want immutability you have it with `const f = class {}`. On Thu, Mar 5, 2015 at 9:51 AM Andreas Rossberg

Re: How to fix the `class` keyword

2015-03-04 Thread Erik Arvidsson
Eric, you can design your own language and have that compile to JS. Then you can get exactly what you want. On Wed, Mar 4, 2015, 13:51 Anne van Kesteren ann...@annevk.nl wrote: On Wed, Mar 4, 2015 at 1:23 PM, Eric Elliott e...@paralleldrive.com wrote: I know I've raised all these issues on

Re: How to tell function and generator function apart?

2015-03-03 Thread Erik Arvidsson
Why do you want to do this? It is an antipattern that we have covered before. On Tue, Mar 3, 2015 at 5:41 PM Guilherme Souza 19gu...@gmail.com wrote: Hi all, I was wondering how one could check if a given function is a generator function, is a cross-realm way: ``` let f = function(){}

Re: Class double-bind

2015-03-02 Thread Erik Arvidsson
Classes are more similar to function expressions which do have an internal const binding. One way to desugar ClassDeclaration is to desugar it into a let binding for a ClassExpression. [1] let Foo = class Foo extends expr {}; I would prefer if we didn't change the spec, not because I think it

Re: extends null

2015-02-16 Thread Erik Arvidsson
No that would not work either. You want an object that has its [[Prototype]] set to MyClass.prototype. On Mon, Feb 16, 2015, 02:55 Marius Gundersen gunder...@gmail.com wrote: The purpose would be defining a class whose instances don't have Object.prototype on their prototype chain. If

Re: extends null

2015-02-15 Thread Erik Arvidsson
Making it a dynamic error at class definition time to extend null would work but the motivation for not doing that was that someone might want to create a class that has a {__proto__: null} prototype. Personally, I would be fine with saying that this case is so rare that it would be better to have

Re: a weird yield* edge case

2015-01-31 Thread Erik Arvidsson
Another option would be to throw. Then the caller can tell that they did something that was not expected by the inner iterator. On Sat, Jan 31, 2015, 08:43 Salvador de la Puente González sa...@unoyunodiez.com wrote: From my point of view, it should do nothing if there is no throw() method to

export default and export {foo as default}?

2015-01-29 Thread Erik Arvidsson
It used to be the case that `export default` was just syntactic sugar for exporting something with the name default. export default 42; was the same as const x = 42; export {x as default}; More importantly this symmetry was very useful on the import side as well as when reexporting default

Re: export default and export {foo as default}?

2015-01-29 Thread Erik Arvidsson
I looked into it in more details and I seem to have been mistaken. *default* is just internal spec name that is needed for hoisting FunctionDeclaration and to create the required anonymous binding. On Thu Jan 29 2015 at 4:20:15 PM Erik Arvidsson erik.arvids...@gmail.com wrote: It used

Re: Setting this to null instead of throwing ReferenceError in a derived class' constructor

2015-01-20 Thread Erik Arvidsson
How is this different from other TDZ (which happens with let and const bindings)? On Tue Jan 20 2015 at 1:52:14 PM Ryosuke Niwa rn...@apple.com wrote: Hi all, We've been working on an experimental implementation of ES6 class syntax in WebKit [1]. And we've found that keeping this in

Re: Can `let`, `static` and `yield` still be used as Identifier?

2014-12-29 Thread Erik Arvidsson
This is a bug in Traceur. On Mon, Dec 29, 2014, 11:35 Gary Guo nbdd0...@hotmail.com wrote: From the specification I saw `yield` is being explicitly declared as an possible Identifier in non-strict mode, and there `let`, `static` are parsed as identifier first. However, I did not see anyway to

Re: Why is export default var a = 1; invalid syntax?

2014-12-15 Thread Erik Arvidsson
Keeping syntax minimal, simple and unsurprising is part of our job. Why do you want this? On Mon, Dec 15, 2014, 09:41 Caridy Patino car...@gmail.com wrote: No. On Dec 15, 2014, at 6:26 AM, Glen Huang curvedm...@gmail.com wrote: What about this: export default var a, b, c; is equivalent

Re: async/await improvements

2014-11-12 Thread Erik Arvidsson
On Wed Nov 12 2014 at 1:33:52 AM James Long longs...@gmail.com wrote: After a brief twitter conversation last night (https://twitter.com/lbljeffmo/status/532402141001179136) I thought I'd post some thoughts I've been having about async/await. I feel like I'm about to walk into a pit where

Re: what makes a file a module?

2014-10-19 Thread Erik Arvidsson
A file that is imported is treated as a module. That's it. On Oct 19, 2014 1:50 PM, Mark Volkmann r.mark.volkm...@gmail.com wrote: I understand that module code is implicitly in strict mode. In an ES6 environment, what causes a .js file to be treated as a module? Does that happen automatically

Array.prototype.values is not web compat (even with unscopables)

2014-10-17 Thread Erik Arvidsson
We learnt this the hard way. There are pages [1] out there that check if `values in object` and now that ends up being true for Array instances. [1] Microsoft Outlook Calendar web app (part of Exchange Outlook Web Access) -- erik ___ es-discuss

Re: Array.prototype.values is not web compat (even with unscopables)

2014-10-17 Thread Erik Arvidsson
:53 PM, Erik Arvidsson wrote: [1] Microsoft Outlook Calendar web app (part of Exchange Outlook Web Access) Microsoft could ship a fix in a point release, right? They surely already provide security patches that admins must install anyway, if they want to keep their users (and their data) safe

Re: Should `Set.prototype.add` return boolean instead of `this`?

2014-10-16 Thread Erik Arvidsson
Seems reasonable but it is too late to make any changes to ES6. On Thu, Oct 16, 2014 at 2:11 PM, Ron Buckton rbuck...@chronicles.org wrote: ​​I recall from earlier discussions on this list that the reason `Set.prototype.add` returns `this` is to support chained calls to the set, to add

Re: Set API

2014-10-14 Thread Erik Arvidsson
Removing Set.prototype.entries and Set.prototype.keys might make sense. I'm not really sure why we added them. Probably for consistency. On Tue, Oct 14, 2014 at 2:42 PM, Axel Rauschmayer a...@rauschma.de wrote: Are we OK with this? Seems like removing `entries`, `keys` and providing own

Re: 04+05 vs 040+050

2014-10-03 Thread Erik Arvidsson
This is legacy octal numbers. They are required for web compat. Use strict mode to fix this. On Oct 3, 2014 8:15 AM, Jorge Chamorro jo...@jorgechamorro.com wrote: $ node 04+05 9 040+050 72 Is that right? Isn't it a bit of a mess/wtf? Is it going to stay so in the future? Thank you, --

Re: Sept 23 2014 Meeting Notes

2014-10-03 Thread Erik Arvidsson
, Rick! On Fri, Oct 3, 2014 at 3:22 PM, Rick Waldron waldron.r...@gmail.com wrote: ## 4.4 Number('0b0101'). NaN or not? (Erik Arvidsson) EA: Previous discussion: https://github.com/rwaldron/tc39-notes/blob/c61f48cea5f2339a1ec65ca89827c8cff170779b/es6/2014-04/apr-9.md#46-updates-to-parseint

Re: Throwing errors on mutating immutable bindings

2014-10-01 Thread Erik Arvidsson
The static error is problematic. I'm pretty sure that engines that do lazy parsing of functions is not going to report static errors before doing a full parse of the function. I think we need to either enforce this or remove this restriction. Anything in between will lead to inconsistent behavior

Re: Toplevel 'let' binding can be left permanently uninitialized after an error

2014-09-30 Thread Erik Arvidsson
On Tue, Sep 30, 2014 at 2:08 PM, Brian Genisio briangeni...@gmail.com wrote: FYI, you can also see this behavior in Node.js (v0.11.14) node --harmony --strict-mode V8's support of let is far from spec compliant. Stuff under --harmony is incomplete, buggy and may have security holes. Do not

Re: Maximally minimal stack trace standardization

2014-09-28 Thread Erik Arvidsson
Last time this was tried the conclusion was that the current format using the stack property as a string could not be standardized. Different browsers use different format and therefore the format can not be changed without breaking existing code. The conclusion was that we needed to use a

Re: Idea for Strawman: separate the core standard library itself into modules

2014-09-22 Thread Erik Arvidsson
Until modules are shipping in engines we will have to continue to add globals. On Sep 22, 2014 8:03 PM, John Barton johnjbar...@google.com wrote: A way to start would add new built-ins only in modules. jjb On Mon, Sep 22, 2014 at 12:15 PM, Isiah Meadows impinb...@gmail.com wrote:

Re: import *

2014-09-22 Thread Erik Arvidsson
import * as m from './file.js' Imports module instance object. It only creates one binding, m in the example above. On Mon, Sep 22, 2014 at 9:31 PM, John Lenz concavel...@gmail.com wrote: As per http://www.2ality.com/2014/09/es6-modules-final.html

Re: new instantiation design alternatives

2014-09-17 Thread Erik Arvidsson
I still feel like Kevin's point has not yet been resolved. How can we make this work with today's patterns? import {C} from './C.js'; function D() { C.call(this); } D.prototype = { __proto__: C.prototype, constructor: D, ... } Now assume that C.js initially used the ES5 pattern above

Re: Making operations on property descriptors more robust against Object.prototype hazards

2014-09-15 Thread Erik Arvidsson
Adding a new way to interpret properties is a bad idea. No engine is going to optimize this new special form of [[Get]] and this will deopt all calls that directly depend on descriptors. On Sep 15, 2014 4:56 AM, Andrea Giammarchi andrea.giammar...@gmail.com wrote: IIRC Allen proposed to change

Re: Using Generators in Extended Mode for Co-Routines

2014-09-12 Thread Erik Arvidsson
Generators are not implicit strict. Only modules and classes are. On Sep 12, 2014 6:30 AM, Carl Smith carl.in...@gmail.com wrote: It seems that ES6 will allow implicit opt-in for generators, with the body of the generator being ES6, so it can yield. It also seems that the plan is that the body

Re: new instantiation design alternatives

2014-09-12 Thread Erik Arvidsson
On Sep 12, 2014 6:39 PM, Jason Orendorff jason.orendo...@gmail.com wrote: On Thu, Sep 11, 2014 at 4:15 PM, Allen Wirfs-Brock al...@wirfs-brock.com wrote: `new^` is lexically scoped, just this `this` and `super`. If an arrow function references `new^` it is the value of the closest

Re: Object.observe and deliverChangeRecords

2014-09-10 Thread Erik Arvidsson
I think you are confusing the internal spec function from the API function deliverChangeRecords. Object.deliverChangeRecords always returns undefined. It is the internal [[DeliverChangeRecords]] that gets called until the queue of change records is exhausted. The point of

for-of loops, IteratorClose and the rest of the iterations in the spec

2014-09-10 Thread Erik Arvidsson
For or loops are spec'ed to call the internal spec function, IteratorClose when there is an abrupt completion in the loop body (an exception was thrown, return and break) The point of this was to allow cleaning up the iterator in case it holds on to some kind of resource. The problem is that

String(symbol)

2014-08-12 Thread Erik Arvidsson
Right now String(symbol) throws because it uses ToString which is spec'ed to throw. I'm suggesting that we special case String(value) to do a type check for Symbol and return the same string as Symbol.prototype.toString.call(value) does.

Re: String(symbol)

2014-08-12 Thread Erik Arvidsson
: Le 12 août 2014 à 22:35, Erik Arvidsson erik.arvids...@gmail.com a écrit : Right now String(symbol) throws because it uses ToString which is spec'ed to throw. I'm suggesting that we special case String(value) to do a type check for Symbol and return the same string

Re: Duplicate property names (was Re: @@new)

2014-06-25 Thread Erik Arvidsson
If I recall correctly the intent was that __proto__ was special syntax for setting the [[Prototype]]. So only three following cases are setting the [[Prototype]] {__proto__: object} {'__proto__': object} {__proto__: object} Other combinations set an own property: {['__proto__']: object}

Re: Duplicate property names (was Re: @@new)

2014-06-25 Thread Erik Arvidsson
definitions. Allen On Jun 25, 2014, at 8:09 AM, Erik Arvidsson wrote: If I recall correctly the intent was that __proto__ was special syntax for setting the [[Prototype]]. So only three following cases are setting the [[Prototype]] {__proto__: object} {'__proto__': object} {__proto__: object

Re: Duplicate property names (was Re: @@new)

2014-06-25 Thread Erik Arvidsson
On Wed, Jun 25, 2014 at 3:20 PM, Allen Wirfs-Brock al...@wirfs-brock.com wrote: I think use strict is a special care where we were trying to simulate what we would allow in a statement composed of reserved words and escapes are now allowed in keywords.

Re: A way of explicitly reporting exceptions

2014-06-23 Thread Erik Arvidsson
This is definitely something that I've needed before. The logical place for this is as part of the console API which is I believe has no spec (defacto standard). On Mon, Jun 23, 2014 at 2:54 PM, Boris Zbarsky bzbar...@mit.edu wrote: This most recently came up in the context of creating

Re: ModuleImport

2014-06-19 Thread Erik Arvidsson
On Thu, Jun 19, 2014 at 6:41 AM, Calvin Metcalf calvin.metc...@gmail.com wrote: One other option could be for import name from 'path' to resolve to the module body there is no default export, thanks to the static analysis you'll always know when default is present. That is a refactoring

Duplicate property names (was Re: @@new)

2014-06-19 Thread Erik Arvidsson
On Wed, Jun 18, 2014 at 12:07 AM, Brendan Eich bren...@mozilla.org wrote: Domenic Denicola wrote: Another way of guiding the decision: I don't quite recall where the spec landed `{ x: 1, [x]: 2 }`, but we should probably be consistent with that. *Mark Miller:* I am ok with removing the

Re: ModuleImport

2014-06-19 Thread Erik Arvidsson
On Thu, Jun 19, 2014 at 1:23 PM, Chris Toshok tos...@gmail.com wrote: On Thu, Jun 19, 2014 at 6:57 AM, Erik Arvidsson erik.arvids...@gmail.com wrote: On Thu, Jun 19, 2014 at 6:41 AM, Calvin Metcalf calvin.metc...@gmail.com wrote: One other option could be for import name from 'path

Re: @@new

2014-06-18 Thread Erik Arvidsson
initialization functions and the possibility to observe an object that never went through its constructor. On Tue, Jun 17, 2014 at 8:03 PM, Jason Orendorff jason.orendo...@gmail.com wrote: On Tue, Jun 17, 2014 at 6:55 PM, Erik Arvidsson erik.arvids...@gmail.com wrote: How does this work with legacy

Re: @@new

2014-06-18 Thread Erik Arvidsson
would set up the internal DOM wrapper pointer, never exposing a non initialized DOM object to user code. On Wed, Jun 18, 2014 at 11:33 AM, Erik Arvidsson erik.arvids...@gmail.com wrote: What about the other direction? class B { constructor(x) { this.x = x; } static [Symbol.create

Re: @@new

2014-06-18 Thread Erik Arvidsson
On Wed, Jun 18, 2014 at 1:07 PM, Boris Zbarsky bzbar...@mit.edu wrote: On 6/18/14, 11:39 AM, Erik Arvidsson wrote: This also fits how @@create works for DOM, where the creation of the instance would set up the internal DOM wrapper pointer, never exposing a non initialized DOM object to user

Re: @@new

2014-06-18 Thread Erik Arvidsson
On Wed, Jun 18, 2014 at 2:54 PM, Domenic Denicola dome...@domenicdenicola.com wrote: From: Brendan Eich bren...@mozilla.org This all looks at the past, where the DOM is warty as hell (I can say that, I started it). What about the future? Much the same, from what I understand. The parser

@@new

2014-06-17 Thread Erik Arvidsson
Remember that ```js class C { constructor() {} } assert(C === C.prototype.constructor); ``` What would `C.prototype.constructor` look like with your proposal? Is `C === C[@@new]`? On Tue Jun 17 2014 at 3:22:05 PM, Jason Orendorff jason.orendo...@gmail.com wrote: Allen asked me to fill out

Re: @@new

2014-06-17 Thread Erik Arvidsson
On Jun 17, 2014 7:44 PM, Brendan Eich bren...@mozilla.org wrote: So far, I prefer your proposal to draft ES6 by a lot -- especially since I missed the hideous Number special-casing spread around in the draft! I don't. How does this work with legacy classes? function B() { this.x = 1; }

Re: .entries() vs. the web

2014-06-16 Thread Erik Arvidsson
That is why you need to implement @unscopables too. On Jun 16, 2014 7:08 PM, Oliver Hunt oli...@apple.com wrote: It turns out there are a number of sites (such as mobile.twitter.com) that are property detecting .entries on objects, and that means that they're breaking when

Re: IsConstructor

2014-06-13 Thread Erik Arvidsson
On Fri Jun 13 2014 at 3:41:02 PM, Allen Wirfs-Brock al...@wirfs-brock.com wrote: On Jun 13, 2014, at 12:07 PM, Jussi Kalliokoski wrote: function Foo () {} Foo.prototype[Symbol.create] = null; @@create methods are normally defined as methods of the constructor function rather than

Re: IsConstructor

2014-06-12 Thread Erik Arvidsson
On Thu Jun 12 2014 at 11:38:22 AM, Allen Wirfs-Brock al...@wirfs-brock.com wrote: It when we start trying to give a function both this-dependent and this-independent functional behavior that we get into the weeds. Yes. Lets not do that :-) ___

Re: Standard builtins' prototypes and toString

2014-06-12 Thread Erik Arvidsson
On Thu Jun 12 2014 at 11:28:12 AM, C. Scott Ananian ecmascr...@cscott.net wrote: It would be slightly more JavaScripty to have Date.prototype.[[DateValue]] exist, and be set to the epoch or some such. +1 1. Let date be the this value. 2. If Type(date) is not Object then, throw a TypeError

Null iterable in for-of?

2014-06-12 Thread Erik Arvidsson
Somehow I missed when we decided to allow null/undefined as the iterable value in for-of loops. The following test passes using the spec algorithms: var c = 0; for (var x of null) { c++; } assert.equal(c, 0); However, if we get a null value here we are most likely just masking an user bug. I

IsConstructor

2014-06-11 Thread Erik Arvidsson
Another way of thinking of IsConstructor is whether the function has an own prototype property or not. The only exception[*] there is bound functions where one would need to know if the [[TargetFunction]] IsConstructor or not. [*] Proxies are oddballs here. All Proxies have a [[Construct]] method

`this` inside modules

2014-06-09 Thread Erik Arvidsson
On Mon Jun 09 2014 at 12:25:42 AM, Domenic Denicola dome...@domenicdenicola.com wrote: If a magically in-scope binding is necessary to access module meta capabilities, giving it a name like `module` or `System.currentModule` would be much better. `System.currentModule` requires magic. It

Re: `this` inside modules

2014-06-09 Thread Erik Arvidsson
Also, @Yehuda Katz wyc...@gmail.com argued that `module` is a common variable name (QUnit uses it) and reserving it is a non starter. `import {thisModule as yourName} from '@moduleMeta'` (bike shedding TBD) is a promising path forward. On Mon Jun 09 2014 at 11:28:59 AM, Matthew Robb

Re: Basic set operations?

2014-06-09 Thread Erik Arvidsson
Most of these could just be methods of iterators and then they could be used for different data structures seemlessly. On Mon Jun 09 2014 at 3:19:20 AM, Calvin Metcalf calvin.metc...@gmail.com wrote: Many of the Set specific methods would also be useful if they worked on the keys of Maps. On

Re: Re: Current module path

2014-06-09 Thread Erik Arvidsson
Agreed. Side discussions are sometimes needed but please make sure we keep track of what was discussed. For the last TC39 I asked everyone that did a breakout session to take notes and share these. Caridy did a really good job sharing these notes. On Mon Jun 09 2014 at 11:27:12 AM, Kevin Smith

Re: Rationale for dropping ModuleImport syntax?

2014-06-09 Thread Erik Arvidsson
Traceur definitely has a lot of exports in a single module. https://github.com/google/traceur-compiler/blob/master/src/syntax/Parser.js#L15 We do not however, use the `module` form since we want to get rid of the extra Get (which deopts switch statements in some engines). On Mon Jun 09 2014 at

Re: Perhaps @@unscopable shouldn't be a Set...

2014-04-30 Thread Erik Arvidsson
This was never resolved and the spec is incomplete here On Wed Sep 25 2013 at 6:17:32 PM, Allen Wirfs-Brock al...@wirfs-brock.com wrote: So here is another concern, about the scheme we agreed to last week. It needs to match a found own property against the possibility of an own @@unscopable

Re: Perhaps @@unscopable shouldn't be a Set...

2014-04-30 Thread Erik Arvidsson
On Wed, Apr 30, 2014 at 1:22 PM, Rick Waldron waldron.r...@gmail.comwrote: On Wed, Apr 30, 2014 at 1:14 PM, Axel Rauschmayer a...@rauschma.dewrote: * Hard-coding `with` to ignore only Array.prototype.values. My main use case for unscopable is for DOM. Today we cannot add nice named

Re: Perhaps @@unscopable shouldn't be a Set...

2014-04-30 Thread Erik Arvidsson
-newobjectenvironment Allen On May 1, 2014, at 3:00 AM, Erik Arvidsson erik.arvids...@gmail.com wrote: This was never resolved and the spec is incomplete here On Wed Sep 25 2013 at 6:17:32 PM, Allen Wirfs-Brock al...@wirfs-brock.com wrote: So here is another concern, about the scheme we

Re: Perhaps @@unscopable shouldn't be a Set...

2014-04-30 Thread Erik Arvidsson
Environment Record is always the empty list. It's never populated. Allen On May 1, 2014, at 3:00 AM, Erik Arvidsson erik.arvidsson at gmail.com https://mail.mozilla.org/listinfo/es-discuss wrote: * This was never resolved and the spec is incomplete here * * On Wed Sep 25 2013 at 6:17:32

Re: ES6 draft Rev24 now available

2014-04-28 Thread Erik Arvidsson
On Sun, Apr 27, 2014 at 5:12 PM, Allen Wirfs-Brock al...@wirfs-brock.comwrote: • Changed length property value of Symbol, Map, Set, WeakSet, WeakMap to 1 to be consistent with most other built-in constructors We discussed this before and wanted new built in function lengths to be consistent

Re: April 10 2014 Meeting Notes

2014-04-24 Thread Erik Arvidsson
I completely agree. Adding return() will make adoption suffer. On Thursday, April 24, 2014 4:05:14 AM, Andreas Rossberg rossb...@google.com wrote: On 15 April 2014 18:06, Allen Wirfs-Brock allen.wirfsbr...@gmail.com wrote: AWB: We _could_ add a `return()` method. ... It's a bigger change,

Decorators vs Annotations (was April 10 2014 Meeting Notes)

2014-04-15 Thread Erik Arvidsson
On Tue Apr 15 2014 at 10:27:23 AM, Rick Waldron waldron.r...@gmail.com wrote: ## Decorators for ES7 (Yehuda Katz) Slides: (need slides) YK: Presenting aspects of common use cases not yet covered by ES6 `class`. Knockout.js example (compute the value of a property) WH: Do you want to

await and promise

2014-03-30 Thread Erik Arvidsson
The done function is injected by the Traceur test runner for async tests. It is standard mocha stuff. On Sunday, March 30, 2014 9:06:23 AM, Mark Volkmann r.mark.volkm...@gmail.com wrote: I looked at the async keyword examples in Traceur for the first time today. Cool stuff! IIUC, when a

Re: standardizing Error.stack or equivalent

2014-03-27 Thread Erik Arvidsson
? Take a look at the work Erik Arvidsson has done so far: http://wiki.ecmascript.org/doku.php?id=strawman:error_stack Rick ___ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss -- Cheers

Re: Fwd: .next('yo') in newborn generators

2014-02-25 Thread Erik Arvidsson
I think we can settle this now. Lets allow an argument. On Tuesday, February 25, 2014 6:27:26 AM, Brendan Eich bren...@mozilla.com wrote: Andy Wingo wrote: Hi, I don't see the point of throwing an error when calling .next('foo') on a newborn generator. We don't throw an error on

Return value of spec setters?

2014-02-18 Thread Erik Arvidsson
https://bugs.ecmascript.org/show_bug.cgi?id=2511 We now have our first setter in the spec. However, it is speced to return the value itself. This is pretty inconsistent with WebIDL and the common practice to not include a return value in setters in object literals. Can we get the spec changed to

Re: eval of let, etc. Was: Re: restrictions on let declarations

2014-02-17 Thread Erik Arvidsson
that the delete does nothing): eval (let x=5; delete x;); (bug https://bugs.ecmascript.org/show_bug.cgi?id= ) Allen On Feb 17, 2014, at 8:02 AM, Erik Arvidsson wrote: I'm also fine with 3. On Mon Feb 17 2014 at 10:39:47 AM, Jeremy Martin jmar...@gmail.com wrote: Happy to concede to #3

Re: eval of let, etc. Was: Re: restrictions on let declarations

2014-02-14 Thread Erik Arvidsson
1 or 3. We have already shot down similiar situations to 2 before. I don't think it is worth bringing this up again. 1 is the least surprise. It is just bad practice, but so is eval and non strict mode in the first place. 3 is fine if you think as if there was a block around the whole thing

Re: System.import FTW

2014-02-14 Thread Erik Arvidsson
On Fri Feb 14 2014 at 2:20:07 PM, C. Scott Ananian ecmascr...@cscott.net wrote: Thanks. I was missing the relationship between System and Loader somehow. So System.import is intended to be exactly the same as the import keyword (except promise-returning). There is a big difference here. The

Re: The case for modular Loader.

2014-02-10 Thread Erik Arvidsson
I also find the mutation of System.normalize slightly worrisome but I do believe that good programming practice here would mean that you would call the previous version of it after your changes. Mostly like a pre-advice. { let locate = System.locate; System.locate = function(...) { if

Re: Efficient determination of implemented class name

2014-02-08 Thread Erik Arvidsson
On Sat, Feb 8, 2014 at 3:56 AM, Timothy Quinn tim.c.qu...@gmail.com wrote: On a related note, one can only dream that formalized OOP class definitions can be put into the ECMAScript specification so we can move away from the lack of consistency for OOP. The flexibility is really hurting the

Re: Efficient determination of implemented class name

2014-02-07 Thread Erik Arvidsson
Function name is in the latest ES6 draft. On Fri Feb 07 2014 at 11:15:31 PM, Timothy Quinn tim.c.qu...@gmail.com wrote: Digging into ECMA-262, I cannot find this noted but it appears to be implemented in V8 and SpiderMonkey. Mozilla states this as

January 30, 2014 Meeting Notes

2014-02-06 Thread Erik Arvidsson
# Jan 30 Meeting Notes John Neumann (JN), Allen Wirfs-Brock (AWB), Yehuda Katz (YK), Eric Ferraiuolo (EF), Erik Arvidsson (EA), Rick Hudson (RH), Matt Sweeney (MS), Dmitry Soshnikov (DS), Sebastian Markbage (SM), Ben Newman (BN), Jeff Morrison (JM), Reid Burke (RB), Waldemar Horwat (WH), Doug

January 29, 2014 Meeting Notes

2014-02-06 Thread Erik Arvidsson
# Jan 29 Meeting Notes John Neumann (JN), Allen Wirfs-Brock (AWB), Yehuda Katz (YK), Eric Ferraiuolo (EF), Erik Arvidsson (EA), Rick Hudson (RH), Matt Sweeney (MS), Dmitry Soshnikov (DS), Sebastian Markbage (SM), Ben Newman (BN), Jeff Morrison (JM), Reid Burke (RB), Waldemar Horwat (WH), Doug

January 28, 2014 Meeting Notes

2014-02-06 Thread Erik Arvidsson
# Jan 28 Meeting Notes John Neumann (JN), Allen Wirfs-Brock (AWB), Yehuda Katz (YK), Eric Ferraiuolo (EF), Erik Arvidsson (EA), Rick Hudson (RH), Matt Sweeney (MS), Dmitry Soshnikov (DS), Sebastian Markbage (SM), Ben Newman (BN), Jeff Morrison (JM), Reid Burke (RB), Waldemar Horwat (WH), Doug

Re: Re: SameValueZero comparator and compatibility

2014-02-04 Thread Erik Arvidsson
V8 has no forEach. On Feb 3, 2014 11:51 PM, Vic9 vic99...@yandex.ru wrote: There was a SpiderMonkey bug1, and even a patch, for this for quite a while. The patch now landed and will be in Firefox 29. V8 got fixed last week too code.google.com/p/v8/issues/detail?id=3069 but according

Re: SameValueZero comparator and compatibility

2014-02-03 Thread Erik Arvidsson
V8 got fixed last week too https://code.google.com/p/v8/issues/detail?id=3069 On Mon Feb 03 2014 at 9:23:11 AM, Till Schneidereit t...@tillschneidereit.net wrote: On Wed, Jan 22, 2014 at 3:53 PM, Brendan Eich bren...@mozilla.com wrote: Andrea Giammarchi wrote: last 3 points are way too

Re: restrictions on module import export names

2014-01-29 Thread Erik Arvidsson
`export default 1` works. https://people.mozilla.org/~jorendorff/es6-draft.html#sec-exports ExportDeclaration : ... export default AssignmentExpression ; On Wed, Jan 29, 2014 at 11:03 AM, Calvin Metcalf calvin.metc...@gmail.comwrote: related, is it possible to export anonymous objects?

Re: restrictions on let declarations

2014-01-29 Thread Erik Arvidsson
It falls out of the grammar. IfStatement can only contain Statement which does not include Declaration without going through a BlockStatement. On Wed, Jan 29, 2014 at 9:57 PM, John Lenz concavel...@gmail.com wrote: I have some old notes that says that let can't be used in some context where

Re: detecting JS language mode for tools

2014-01-28 Thread Erik Arvidsson
On Tue, Jan 28, 2014 at 12:32 PM, Brendan Eich bren...@mozilla.com wrote: John Lenz wrote: There are three issues in my mind for tooling: 1) should the code be parsed as use strict 2) are import and export and module statements valid Note no module form in ES6. module M from

Re: Reason why generators do not have references to themselves?

2014-01-27 Thread Erik Arvidsson
On Jan 27, 2014 2:09 PM, David Herman dher...@mozilla.com wrote: I'd like to suggest another sense in which you may have gone down a bad path: you're assuming that await is paired with function*, but it could instead be (like C#) paired with its own async-function syntactic form. Let's say for

  1   2   3   4   >