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
, 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
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
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
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
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:
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,
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
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
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
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
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
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.
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
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
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
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
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)
: 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
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
, 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
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
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
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
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
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
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
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
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
[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
[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 ::= {
^ 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
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
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
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
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 -
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
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
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
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
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.
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
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.
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.
*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
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
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
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.
48 matches
Mail list logo