Hi Norbert,  

On Thursday, 6 September 2012 at 00:04, Norbert Lindenberg wrote:

> Hi Marcos,
> 
> I have a few more comments on your comments below, but here's the main 
> important reason for exceptions: They are the prerequisite for compatibly 
> introducing new values over time.
> 
> The issue is: If we assign a default behavior to values that aren't 
> explicitly described in the spec, then applications may come to depend on 
> this default behavior. There've been many cases in the past where TC 39 
> couldn't introduce new behavior because there was an established behavior for 
> a construct and the concern that applications depended on it. The case where 
> TC 39 generally agrees that behavior can be changed is when the current 
> behavior (both specified and implemented) is to throw an exception.
> 
> For example, we recently decided to introduce new Unicode character escape 
> sequence of the form \u{xxxxxx} into the language for ES6. For identifiers 
> and string literals, there was no compatibility concern, because in both 
> cases the ES5 specification required to throw exceptions for such character 
> sequences, and implementations followed the spec. For regular expression 
> literals, even though the specification required to throw an exception, 
> implementations had consistently assigned a different meaning to such 
> character sequences (/\u{10}/ is interpreted as /u{10}/). TC 39 therefore 
> decided that the new Unicode character escape sequences could be supported in 
> regular expression literals only under a new flag.
> 
> In addition, it doesn't seem that the Internationalization API is alone in 
> using exceptions. WebIDL provides enumeration types, defined as sets of 
> strings just like we use them, and in its ECMAScript binding specifies that 
> unknown strings result in a TypeError exception (slightly different from the 
> RangeError exceptions we use). An enumeration is used, for example, in the 
> TextTrack API within HTML5.
> http://www.w3.org/TR/WebIDL/#idl-enums
> http://www.w3.org/TR/WebIDL/#es-enumeration
> http://dev.w3.org/html5/spec/single-page.html#texttrackmode

Thank you for the clarification - you are correct. Although I don't personally 
agree with currently specified behaviour, I can understand the rationale given 
above for the current design. 

Kind regards, and again, great work on the spec! :)  
Marcos   

-- 
Marcos Caceres
http://datadriven.com.au



_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to