Adoption of the Typed Array Specification
Allen.Wirfs-Brock at microsoft.com
Thu May 13 11:29:59 PDT 2010
Thanks for forcing this into our attention. At a functional level, this appears to be proceeding in a reasonable direction. However, I think there are some problematic issues about the form and depth of the specification as well as related process issues.
The first words of the specification are " This specification describes additional core ECMAScript types...". This isn't something that the Khronos Group can do, as the ECMAScrpt specification including its core data types are under the control of Ecma TC39 and any modification or extensions to it will have to be approved by it and the Ecma general assembly. Since Mozilla is a member of both TC39 and Khronos you are doing the right thing by bringing this to TC39 and I'm sure we can work together on this matter.
However, I think the above statement about "core ECMAScript types" may exemplify a misperception that has deeper technical implications. The existing formulation of the Typed Array Specification really doesn't have anything in it involving "core ECMAScript types". Instead, it uses W3C WebIDL conventions to specify the behavior of a new family of what, in ECMAScript terminology, are known as "host objects". Host object, are objects that exist outside of an ECMAScript implementation but which may be accessed from within ECMAScrpt programs. Host objects, do not necessarily conform to the full semantics of ECMAScript objects and may not necessarily fully support or interoperate with all features of the ECMAScrpt language. For example, host objects may be anomalous in their support of prototype inheritance and in their implementation of the various property attributes. Historically, WebIDL based specifications have not addressed such issues and this has resulted in many interoperability issues among browsers.
The Khronos Group certainly has every right to specify "host objects" to serve as interfaces to their technologies. However, if the desire is for this form of binary data to be integrated into ECMAScript as a "core types" that is available in all ECMAScript implementations (independent of the host environment) then this needs to be addressed by TC39 using its specification techniques which will ensure that the necessary types and features fully integrate into the language. The existing Typed Array spec. probably works as a specification of a set of "host objects" and it is a good starting point as a set of functional requirements for new ECMAScript functionality but it is not adequate as the specification of a core ECMAScript extension. Hopefully, this is something we can take care of in the context of TC39.
Again, thanks for forcing this issue.
> -----Original Message-----
> From: es-discuss-bounces at mozilla.org [mailto:es-discuss-
> bounces at mozilla.org] On Behalf Of Arun Ranganathan
> Sent: Thursday, May 13, 2010 5:57 AM
> To: public-script-coord at w3.org; es-discuss at mozilla.org
> Subject: Adoption of the Typed Array Specification
> Greetings, TC-39 WG and script mavens!
> Browser vendors participating in the WebGL WG intend to implement the "Typed
> Arrays" specification, allowing for greater manipulation of binary data:
> The draft specification (a work in progress) resides at Khronos, which is typically
> an unusual home for something integral to the rest of the web platform.
> Khronos is where we work on WebGL, which enjoys Google, Opera, Mozilla, and
> Apple participation, amongst other organizations.
> The general usefulness of constructs such as ArrayBuffers (covered in the "Typed
> Arrays" draft specification) lends itself to other web platform specifications,
> such as the File API, parts of which are implemented in Firefox 3.6.3:
> In the above draft (also a work in progress), the Blob interface exposes an
> ArrayBuffer property, which can then be used with different views.
> While implementations are currently proceeding unimpeded by standards-track
> considerations, it would be useful if Typed Arrays were taken on as a work item
> if so, where?
> -- A*
> es-discuss mailing list
> es-discuss at mozilla.org
More information about the es-discuss