ECMAScript 4 Implementation Progress

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

ECMAScript 4 Implementation Progress

John Resig-2
Hi Everyone -

I've started mapping out the progress that's being made on ECMAScript 4 implementations. This has been a multi-stage project, thus far, with the following steps having already been sort-of completed:
1) Mapping out all the features, changes, and bug fixes that are going into the language (nicely categorized, as well).
2) Getting a very rough checklist filled out for each of the implementations.

Note that I've left off static implementations (like ActionScript 3 and JScript 8) in favor of ones that are being actively developed.

You can view it here:
http://spreadsheets.google.com/pub?key=pFIHldY_CkszsFxMkQOReAQ

The next phases of this are:
- Convert this into a more-presentable form (nice, pretty, web page)
- Write up code examples for each individual item (that way they can be easily verified in the implementations and understood by readers)
- Get people to help me fill this out and keep this updated!

The last one is important - and why I'm pinging this list first before heading to the general public. If you have any insight into any of these implementations, or the specification, please drop me an email and I'll gladly give you commit privileges to the spreadsheet).

Feedback is greatly appreciated.

--John
_______________________________________________
Es4-discuss mailing list
[hidden email]
https://mail.mozilla.org/listinfo/es4-discuss
Reply | Threaded
Open this post in threaded view
|

Re: ECMAScript 4 Implementation Progress

john saylor-3
hey

On 12/10/07, John Resig <[hidden email]> wrote:
> http://spreadsheets.google.com/pub?key=pFIHldY_CkszsFxMkQOReAQ

nice!

maybe you can also include URLs for each implementation. i can take a
first cut at this if you want ...

--
\js  [ http://or8.net/~johns/ ]
_______________________________________________
Es4-discuss mailing list
[hidden email]
https://mail.mozilla.org/listinfo/es4-discuss
Reply | Threaded
Open this post in threaded view
|

Namespaces

Michael O'Brien-4
In reply to this post by John Resig-2
I've got a question about how user defined namespaces should resolve
inside of packages.  This is really an ES4 implementation question and
not a usage question.

Consider:

package one {
    public namespace blue = "http://blue"
}

package one {
    use namespace blue
    blue var x :int
}


package two {
    public namespace blue = "http://blue"
}

package two {
    use default namespace blue
    blue var x : string
}



This fails to compile as the two "blue var x" declarations have
different fixture types. So this implies that variable declarations
inside packages that have namespaces with identical URI => are not
defined with any package qualification. ie. the namespace is the only
qualification. This is what I expected, but just
wanted to confirm this.

Also, I noticed in the RI that you can't have namespace (and other)
declarations outside of a "package {" block. ie.

namespace blue
package {
}


will fail to compile, but put the namespace declaration inside of
"package {" and it works. Surely, these declarations should be allowed
outside an explict package declaration due to the fact that there is an
implicit "package {" around global declarations?

Michael O'Brien
_______________________________________________
Es4-discuss mailing list
[hidden email]
https://mail.mozilla.org/listinfo/es4-discuss
Reply | Threaded
Open this post in threaded view
|

Re: Namespaces

Jeff Dyer



On 12/12/07 11:13 AM, Michael O'Brien wrote:

> I've got a question about how user defined namespaces should resolve
> inside of packages.  This is really an ES4 implementation question and
> not a usage question.
>
> Consider:
>
> package one {
>     public namespace blue = "http://blue"
> }
>
> package one {
>     use namespace blue
>     blue var x :int
> }
>
>
> package two {
>     public namespace blue = "http://blue"
> }
>
> package two {
>     use default namespace blue
>     blue var x : string
> }
>
>
>
> This fails to compile as the two "blue var x" declarations have
> different fixture types. So this implies that variable declarations
> inside packages that have namespaces with identical URI => are not
> defined with any package qualification. ie. the namespace is the only
> qualification. This is what I expected, but just
> wanted to confirm this.

That is correct. A namespace attribute in a package body overrides the
default package qualifier. AS3 allowed only public and internal at this
level, but we have agreed that we would allow such use of namespaces inside
of packages and interfaces. #335 just opened to clarify.

>
> Also, I noticed in the RI that you can't have namespace (and other)
> declarations outside of a "package {" block. ie.
>
> namespace blue
> package {
> }
>
>
> will fail to compile, but put the namespace declaration inside of
> "package {" and it works. Surely, these declarations should be allowed
> outside an explict package declaration due to the fact that there is an
> implicit "package {" around global declarations?

The error probably has to do with the fact that the current grammar requires
packages to be defined at the top of a compilation unit. It is our intention
to change this letting package definitions to be interspersed with other
definitions and statements.

Jd
>
> Michael O'Brien
> _______________________________________________
> Es4-discuss mailing list
> [hidden email]
> https://mail.mozilla.org/listinfo/es4-discuss

_______________________________________________
Es4-discuss mailing list
[hidden email]
https://mail.mozilla.org/listinfo/es4-discuss
Reply | Threaded
Open this post in threaded view
|

Re: Namespaces

Michael O'Brien-4
Thanks - that explains both questions.

We've got this working pretty smoothly now.  If as Graydon pointed out we allow pragmas to be placed
anywhere in a block, the whole mechanism becomes much easier to use.  Rules about where you can and
can't put directives makes the language harder to predict and use.

Michael

Jeff Dyer wrote:

On 12/12/07 11:13 AM, Michael O'Brien wrote:

  
I've got a question about how user defined namespaces should resolve
inside of packages.  This is really an ES4 implementation question and
not a usage question.

Consider:

package one {
    public namespace blue = "http://blue"
}

package one {
    use namespace blue
    blue var x :int
}


package two {
    public namespace blue = "http://blue"
}

package two {
    use default namespace blue
    blue var x : string
}



This fails to compile as the two "blue var x" declarations have
different fixture types. So this implies that variable declarations
inside packages that have namespaces with identical URI => are not
defined with any package qualification. ie. the namespace is the only
qualification. This is what I expected, but just
wanted to confirm this.
    

That is correct. A namespace attribute in a package body overrides the
default package qualifier. AS3 allowed only public and internal at this
level, but we have agreed that we would allow such use of namespaces inside
of packages and interfaces. #335 just opened to clarify.

  
Also, I noticed in the RI that you can't have namespace (and other)
declarations outside of a "package {" block. ie.

namespace blue
package {
}


will fail to compile, but put the namespace declaration inside of
"package {" and it works. Surely, these declarations should be allowed
outside an explict package declaration due to the fact that there is an
implicit "package {" around global declarations?
    

The error probably has to do with the fact that the current grammar requires
packages to be defined at the top of a compilation unit. It is our intention
to change this letting package definitions to be interspersed with other
definitions and statements.

Jd
  
Michael O'Brien
_______________________________________________
Es4-discuss mailing list
[hidden email]
https://mail.mozilla.org/listinfo/es4-discuss
    


  

_______________________________________________
Es4-discuss mailing list
[hidden email]
https://mail.mozilla.org/listinfo/es4-discuss