new since ActionScript 3.0 lecture notes
graydon at mozilla.com
Wed Feb 13 15:40:20 PST 2008
colin at moock.org wrote:
> as i was saying before [ctrl + v, enter] turned into [ctrl + enter]
> (maybe ctrl+enter is a bad thunderbird shortcut?)....
> my lecture notes are here:
> they are nearly entirely based on the overview at:
> and the proposals at:
> and francis cheng's helpful guidance.
> comments, corrections, and all feedback very much appreciated.
- Union types are spelled (x|y|z) now, not (x,y,z).
Popularity contest, the pipe character won.
- ES3 primitives are not exactly "gone", they are simply assigned
to classes that (hopefully!) perfectly emulate their old
semantics. There is some (mandated) magic behavior in these
classes for proper backward-compatibility.
- The structure of some of these features is presently in debate
within the committee: at least units, numeric types, generic
functions, operator overloading, wrap, tail calls.
- The ES4 wiki has proven to be less-than-ideal for hashing out
proposals and amendments, so much of the discussion and work
now takes place within the ES4 ticket tracking system (in which
there are linear conversations and tickets progress through
defined states). http://bugs.ecmascript.org/
Otherwise, good luck with the presentation! Please do emphasize that the
language is a work in progress -- as are its various implementations --
and there is ongoing discussion about which of these aspects will be
able to peacefully coexist in the spec. Probably some will not make it,
or will show up wearing different clothes.
You may also wish to emphasize -- I find this is an important point for
newcomers -- that the type system is a *runtime* type system; it has
been designed such that a conservative static checker can prove or
disprove some safety issues in a program, but such static checking is
entirely optional, as smooth interoperation with unannotated code --
deferring all checks to runtime -- was a strict design requirement.
More information about the Es4-discuss