Suggestion: put this evolving spec into a Gist or something similar.

On Jul 28, 2013, at 23:24 , Brendan Eich <bren...@mozilla.com> wrote:

> Brendan Eich wrote:
>> Function.setTypeOf(V, U)
>> 
>> 1.  Let S = ToString(U)
>> 2.  Let T = V
>> 3.  If T is null then
>> 3a.   If S is not "null" and S is not "object", throw
>> 4.  Else
>> 4a.   If T is not a value object constructor, throw
>> 4b.   T = T.prototype
>> 4c.   If TypeofToExemplarMap.has(S), throw
>> 5.  Call TypeofToExemplarMap.set(S, T)
>> 6.  Call ExemplarToTypeofMap.set(T, S)
> 
> Correction, see new 4b below:
> 
> 1.  Let S = ToString(U)
> 2.  Let T = V
> 3.  If T is null then
> 3a.   If S is not "null" and S is not "object", throw
> 4.  Else
> 4a.   If T is not a value object constructor, throw
> 4b.   If T and Function are not same-realm, throw
> 4c.   T = T.prototype
> 4d.   If TypeofToExemplarMap.has(S), throw
> 5.  Call TypeofToExemplarMap.set(S, T)
> 6.  Call ExemplarToTypeofMap.set(T, S)
> 
> I did not add an exception when the current evaluation context's realm is not 
> the same as Function's -- that seems too restrictive, forbidding script in 
> the main window from fixing up typeof for same-origin code that it loads into 
> an iframe.
> 
> Again, comments welcome (cc'ing Allen since he is realm-master; ES1-5 left 
> realm implicit and singular, contrary to reality in browsers).
> 
> /be
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
> 

-- 
Dr. Axel Rauschmayer
a...@rauschma.de

home: rauschma.de
twitter: twitter.com/rauschma
blog: 2ality.com

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

Reply via email to