Jan 20 meeting notes
brendan at mozilla.com
Thu Jan 20 17:32:09 PST 2011
On Jan 20, 2011, at 5:25 PM, Brendan Eich wrote:
>> Where do #-functions inherit from? Do they have call and apply methods?
> The idea we seemed to agree on was this analogy:
> primitive string : String object :: #-function : Function object
which implies #-functions delegate to Function.prototype, so apply and call work.
This seems to work. ES5 specs primitive wrapping as unobservable, and competitive engines don't implicitly wrap, they simply delegate from a primitive value to the relevant prototype (for the relevant global object!).
Primitives are here to stay, we have tried to get rid of them several times and we can't. #-funcitons, records and tuples go the other way and complete the menagerie:
record : Object :: string : String (or ... :: number : Number, or ... :: boolean : Boolean)
tuple : Array :: "
#-function : Function :: "
More information about the es-discuss