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 :: " /be _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

