Re: Is wiki.ecmascript.org down?

2015-11-23 Thread Dave Herman
Tracked down what was going wrong. We're back up and live. Sorry for such a long disruption, everyone. This situation still isn't awesome; the wiki is ancient, we're not using it anymore, and we should not be shelling out $ every month to host a legacy PHP wiki! I'll spend a little time this

Re: Is wiki.ecmascript.org down?

2015-11-23 Thread Dave Herman
, Dave Herman <dher...@mozilla.com> wrote: > Tracked down what was going wrong. We're back up and live. Sorry for such > a long disruption, everyone. > > This situation still isn't awesome; the wiki is ancient, we're not using > it anymore, and we should not be shelling out

Re: System.import()?

2015-08-18 Thread Dave Herman
The `System.loader.import` feature isn't ready for stabilization yet, and is blocked on a few other pieces of the Loader design. The concerns you mention are definitely important and we're working on them in the Loader spec, but no need to rush something through before it's ready. Over time, we

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

2014-12-16 Thread Dave Herman
On Mon, Dec 15, 2014 at 11:50 PM, Glen Huang curvedm...@gmail.com wrote: Would you consider adding this: Syntax export default var VariableDeclaration; I should first say: no module syntax changes for ES6. But we can discuss extensions for post-ES6 proposals. I was resistant to this syntax

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

2014-12-15 Thread Dave Herman
On Fri, Dec 12, 2014 at 8:19 PM, Glen Huang curvedm...@gmail.com wrote: You can already do var a = 1;export default a;”. Why not make export default var a = 1;” valid? Because the former is creating an exported variable called 'default' and assigning its initial value to the result of

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

2014-12-15 Thread Dave Herman
On Mon, Dec 15, 2014 at 8:01 AM, Marius Gundersen gunder...@gmail.com wrote: So are all of these legal? ```js var a = 1; // legal export a; // legal var b = 1; // legal export default b; // legal export var c = 1; // legal export var d = 1, e = 2, f = 3; // legal ``` What about:

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

2014-12-15 Thread Dave Herman
On Mon, Dec 15, 2014 at 8:16 AM, Glen Huang curvedm...@gmail.com wrote: So giving the experience of you can merge export and a variable declaration into a single line, I tried to do: export default var pt = { x: 0, y: 0 }; document.addEventListener(“mousemove”, (ev) = {clientX: pt.x,

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

2014-12-15 Thread Dave Herman
On Mon, Dec 15, 2014 at 8:22 AM, Glen Huang curvedm...@gmail.com wrote: export a; I think this is illegal, should be {a: a} Oops, right you are! Got one wrong on my ES6 quiz. ;-P Dave ___ es-discuss mailing list es-discuss@mozilla.org

Re: HostGetSource and HostNormalizeModuleName

2014-12-10 Thread Dave Herman
I owe everyone a draft of the loader semantics, but for now here's a way to think about the interface between Ecma-262 and the loader spec: the names the ES spec is talking about are *not* the names used by the loader or in the registry. They are just GUIDs -- you can think of them as just being

Re: On dropping @names

2012-12-03 Thread Dave Herman
yes, exactly. symbols themselves are, by design, *gen*sym. :) Dave - Original Message - From: Brendan Eich bren...@mozilla.org To: David Herman dher...@mozilla.com Cc: Brandon Benvie bran...@brandonbenvie.com, es-discuss discussion es-discuss@mozilla.org Sent: Mon, 03 Dec 2012 19:47:24

Re: arrow syntax unnecessary and the idea that function is too long

2011-05-08 Thread Dave Herman
Do I understand you that the idea here is 'function' without the 'function' keyword? I think this has a pretty bad backwards-incompatibility with ASI: x = (x) { return x } Which way should this parse? Dave -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. Rick Waldron

Re: harmony:modules with require

2011-04-14 Thread Dave Herman
It's a contextual keyword only. Doesn't break anything. Dave -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. Dmitry A. Soshnikov dmitry.soshni...@gmail.com wrote: On 14.04.2011 11:38, Irakli Gozalishvili wrote: Hi, I just noticed that harmony modules have a different

Re: Optional : in ?: operator [was: Existential operator]

2011-04-14 Thread Dave Herman
Kyle's proposal. Dave -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. Dmitry A. Soshnikov dmitry.soshni...@gmail.com wrote: On 14.04.2011 1:23, David Herman wrote: I don't think this feature is worth all this discussion or time, which is why I haven't said very much.

Re: Questions about Harmony Modules

2011-04-02 Thread Dave Herman
Fully agree on all counts. Dave -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. Brendan Eich bren...@mozilla.com wrote: On Apr 2, 2011, at 4:33 PM, David Herman wrote: (We've talked a little bit about generalizing the `require' form to be an expression operator that

Re: Bringing setTimeout to ECMAScript

2011-03-19 Thread Dave Herman
These are all good points-- I may not have time to reply this weekend but I will. I just want quickly to point out that despite the wording on strawman:strawman (TC39's response to...), the vats/promises strawman has by no means been agreed upon yet. As I say, I believe it's not mature enough

Re: Additional language features

2011-03-05 Thread Dave Herman
Is this an argument for including a matrix library in the spec? 'Cause my point was just, if the rationale for including it is that host implementations could exploit the GPU, well, so could JS. Dave -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. Alex Russell

Re: On ES Harmony proxies extensibility

2011-01-21 Thread Dave Herman
Not sure; I'll think about it. Though abstracting Proxy.Handler(Object.create(null, {})) might in fact be a worthwhile convenience. Dave Mark S. Miller erig...@google.com wrote: On Fri, Jan 21, 2011 at 2:45 PM, David Herman dher...@mozilla.com wrote: Should we have a no-op or sink standard

Re: Extending natives in simple modules

2011-01-03 Thread Dave Herman
Simple modules decouples this concern from that of modularizing code; modules are not state-isolated, but share the same connected graph of module instances, including the primordials (Object, Array, etc). Instead, module loaders (http://wiki.ecmascript.org/doku.php?id=strawman:module_loaders)

Re: New private names proposal

2010-12-23 Thread Dave Herman
: Mark S. Miller erig...@google.com To: Dave Herman dher...@mozilla.com Cc: David-Sarah Hopwood david-sa...@jacaranda.org, es-discuss@mozilla.org Sent: Wed, 22 Dec 2010 23:56:46 -0800 (PST) Subject: Re: New private names proposal On Wed, Dec 22, 2010 at 11:30 PM, Dave Herman dher...@mozilla.com wrote

Re: New private names proposal

2010-12-23 Thread Dave Herman
Thanks Mark. This seems like a good place to leave this for now. I'm not going to continue respobding on the thread with David-Sarah for now, because I really need to get off the computer and join the family for the holidays over the next few days, and I think it's past the point of diminishing

Re: New private names proposal

2010-12-22 Thread Dave Herman
, one of Allen or Dave Herman and Sam Tobin-Hochstadt's proposals. Mea culpa. Does it affect my argument at all? No. Follow that link and read http://wiki.ecmascript.org/doku.php?id=strawman:names#binding_private_names to see only examples using x.key, etc. -- no square brackets. What does

Re: Single frame continuations proposal

2010-04-06 Thread Dave Herman
Greasing the wheels of shared-state concurrency is dangerous and not a good idea for ES. We definitely have not introduced shared-state concurrency Introduced, no-- it's already there. IMO what this does is make it too easy to trip over. You're talking about a use case where clients can

Re: Single frame continuations proposal

2010-04-01 Thread Dave Herman
I am not exactly sure what that intent is here, but I am guessing it is supposed to flash several times before showing the alert. No, sorry that I meant window.setInterval rather than window.setTimeout, but otherwise I think I wrote what I meant. I wanted it to alert done setup! immediately

Re: simple modules

2010-01-30 Thread Dave Herman
I'll add an example demonstrating modules with shared state; if you want to make a point about the consequences of this, I'm happy to discuss. WRT isolation, Sam and I have some thoughts about a largely orthogonal proposal for providing isolation without needing to impose restrictions on the

Re: simple modules: module managment vs. configuration management

2010-01-30 Thread Dave Herman
There is quite a bit of literature on “2nd class” module systems, but most of it is from a period before first class modules became the primary modularity research interest. I’ll see if I can dig up some references to papers that may be helpful. That would be great. I'll be glad to include

Re: simple modules

2010-01-30 Thread Dave Herman
Hi Andy, So, as Brendan described, they're not first class because you want to analyze dependencies statically? A number of reasons: - the dependency graph is statically computable - first-class modules duplicate existing expressiveness of functions and objects - exposing more information to

Re: simple modules

2010-01-30 Thread Dave Herman
Ok thanks. I assume your longer description notes what the state would be as seen from two independent usages of module Counter? I may not have made this clear enough in the strawman. A module is evaluated only once, so two independent usages will share state. Now, this is per context -- the

Re: simple modules

2010-01-29 Thread Dave Herman
Kris, my apologies for misspelling your name! Dave - Original Message - From: David Herman dher...@mozilla.com To: es-discuss@mozilla.org Sent: Fri, 29 Jan 2010 17:13:35 -0800 (PST) Subject: simple modules We had a good discussion about modules at this week's meeting, and Sam

Re: Downloading source

2009-04-16 Thread Dave Herman
I got 77% and the downloading then just stopped. Now, if I try I can not get any of the source to come down. (My ISP does not limit the of downloads). I don't see anything in the server logs, so I'm not sure what to tell you. You could try to download it from another computer. I'd be willing

Re: Preliminary draft of ES-Harmony modules proposal

2009-02-08 Thread Dave Herman
[I'm having mail server issues, so I apologize if this message doesn't thread appropriately.] Peter Michaux wrote: The ServerJS project is a bright light in the server-side JavaScript world. Knowing sooner than later if this module idea is appealing to the ECMAScript group would be useful

block expressions vs. reveal

2009-01-08 Thread Dave Herman
[NB: I agree with Mark that we should not focus too much on concrete syntax yet, so I'll also plead for people to avoid quibbling with details of syntax for the moment.] Instead of reveal I'd prefer block expressions with a fixed (but optional) tail expression: BlockExpr ::= {

Re: Allen's lambda syntax proposal

2008-12-21 Thread Dave Herman
^ also has a slight resemblance to the greek lambda, which is the reason Haskell uses \. As an aside, the circumflex is actually the precursor to lambda: We end this introduction by telling what seems to be the story how the letter 'λ' was chosen to denote function abstraction. In Principia

Re: Lambda vs. function

2008-10-27 Thread Dave Herman
Maciej Stachowiak wrote: You could probably define a rigorous transform to apply to a swtich() statement that turns it into a series of if / else clauses (possibly duplicating later cases if there is no break) and apply the usual if rule to that transform to get case statements into the

Re: Lambda vs. function

2008-10-20 Thread Dave Herman
Yes, that's what I was referring to earlier. Do you now understand my mail from 10/17/2008 12:39? You mean these examples? lambda h(x) { switch (x) { case 1: g(); break; case 2: ... } } I doubt there's any clean way to fit tail positions into a switch

Re: Lambda vs. function

2008-10-17 Thread Dave Herman
What you appear to be saying is that wrapping the call to g() inside another statement indicates that it will not be tail-recursive. No, that's not what I'm saying-- that's a given and not relevant. What I'm trying to say is that trying to make return into a tail-calling form is clunky

Re: Lambda vs. function

2008-10-17 Thread Dave Herman
No, I must have misunderstood what you meant by wrapping the call to g() inside another statement -- I thought you were referring to wrapping it in a context such as { -- ; stmt; } which would obviously not be a tail position. But this: lambda f(x) { if (x == 0) 1; else f(x -

Re: Lambda vs. function

2008-10-16 Thread Dave Herman
b) creating a clearer place in the language syntax to enforce tail calling by eliminating `return' I don't understand what you mean in point b. Consider two different syntaxes for a function performing a tail call: lambda(x) { f(x) } function(x) { return f(x) } The traditional

Re: return when desugaring to closures

2008-10-15 Thread Dave Herman
Please specify what you are proposing. The one proposal I've seen is: Expression ::= ... | lambda Formals Statement Yes, that's what I meant, or at least what I thought Yuh-Ruey meant. This is not particularly useful because then even assign a lambda to a variable would be a syntax

Re: return when desugaring to closures

2008-09-04 Thread Dave Herman
Hmm. I thought the motivation for using SML is that it had a definite formal semantics (for which the last revision was published a decade ago), Not really; I suppose it's nice to know that the underlying meta-language is formalized, but this would really only provide practical utility if we

Re: Proposal: opt-out local scoping

2008-08-28 Thread Dave Herman
I agree with you 100% that JavaScript /almost/ gets lexical scope right and that we should try to eliminate that almost as much as we can. I don't, however, believe that the right solution is Python's implicit binding semantics. where everything assigned in ... results in a variable local to

Re: Proposal: opt-out local scoping

2008-08-28 Thread Dave Herman
I like this, but wouldn't you want to provide escapes, like reformed with and/or a way to declare an individual reference to be free? Reformed `with' depended on type annotations and structural type syntax, which are undergoing discussion. So I think reformed `with' is up in the air for now.

Re: Proposal: opt-out local scoping

2008-08-28 Thread Dave Herman
For what value of global should the global keyword be global? };- I'm not sure if this is what Erik meant, but my intention was just that there's a variable bound in the standard library called `global' that's bound to the global object. The only reason I suggested the name `global' was that

Re: Sugar unrelated to macros -- Was: Re: Sugar

2008-08-28 Thread Dave Herman
If you mean hygiene, that is not a practical problem so much as a theoretical one. Dave knows a lot about this topic, so I'll defer to him. No, hygiene is most certainly a practical problem! Hygiene is about preventing very subtle bugs that are intermittent and extremely hard to track down.

Re: Sugar

2008-08-28 Thread Dave Herman
Felix wrote: ingvar-sugar isn't a macro system. it's pretty similar to python's @decorator syntax. http://www.python.org/dev/peps/pep-3129/ Yeah, you're right -- IIUC it's very much like Python decorators, though not class decorators but function decorators, right? IANA Python expert.

Re: Sugar unrelated to macros -- Was: Re: Sugar

2008-08-28 Thread Dave Herman
*Lack* of hygiene is a problem. My statement in reply to Ingvar's citing problems with macro systems was that, if he meant by problems anything like implementing hygienic macros, then building such systems is a solved problem for certain languages -- albeit without complete

Re: Sugar

2008-08-27 Thread Dave Herman
The following would let people create syntax sugar for their favorite paradigms. I really have to suggest you learn about macros before trying to reinvent them. This reading list is a good start: http://library.readscheme.org/page3.html Dave

dynamic class idiom

2008-08-26 Thread Dave Herman
I noticed a little idiom supported by classes-as-values: (new (class() { ... })) This essentially builds an object whose properties can be computed in an arbitrary statement context-- with loops or what have you. You might call this a dynamic singleton pattern; a throwaway factory. It's

Re: return when desugaring to closures

2008-08-25 Thread Dave Herman
Brendan Eich wrote: Dave, is the violent transform of the for-loop above the kind of rest-of-the-language transform you were referring to? Answering for Dave: yes. Sorry for the delay-- yes, any kind of construct in the language other than function/method/constructor call would require CPS.