From: Thomas 'PointedEars' Lahn on
Lasse Reichstein Nielsen wrote:

> Thomas 'PointedEars' Lahn <PointedEars(a)web.de> writes:
>> Suffice it to say that Function.prototype.prototype does refer to an
>> Object instance in JavaScript 1.8.2, and perhaps earlier versions, which,
>> after tests, is going to be documented accordingly.
>
> As data points for non JavaScript browsers:
>
> IE 8: undefined
> IE 9 prview: undefined
> Opera 9.52: undefined
> Safari 4.0.5 undefined
> Chrome dev : null
>
> Mozilla seems to be alone in having Function.prototype.prototype be
> an object, a fresh object with a constructor property satisfying
> Function.prototype.prototype.constructor == Function.prototype

Thanks, added for the next revision (tests pending).


PointedEars
--
Prototype.js was written by people who don't know javascript for people
who don't know javascript. People who don't know javascript are not
the best source of advice on designing systems that use javascript.
-- Richard Cornford, cljs, <f806at$ail$1$8300dec7(a)news.demon.co.uk>
From: Thomas 'PointedEars' Lahn on
Thomas 'PointedEars' Lahn wrote:

> You are an idiot for insinuating that I had assigned `undefined'
> intentionally, not knowing that that would be error-prone, when
> there was/is sufficient evidence to suggest otherwise
> (`if (jsx_object.isMethod(fHandler))').

if (!jsx_object.isMethod(fHandler))

(The problem there was that this condition was met, but the default value
assigned to `fHandler' was wrong because of the change to closures.)


PointedEars
--
var bugRiddenCrashPronePieceOfJunk = (
navigator.userAgent.indexOf('MSIE 5') != -1
&& navigator.userAgent.indexOf('Mac') != -1
) // Plone, register_function.js:16
From: Lasse Reichstein Nielsen on
Thomas 'PointedEars' Lahn <PointedEars(a)web.de> writes:

> Garrett Smith wrote:

>> | The Function prototype object is itself a Function object (its
>> | [[Class]] is "Function") that, when invoked, accepts any arguments and
>> | returns undefined.
>
> Again, that does _not_ say what can happen between the moment the function
> is called and the moment it returns. So it does _not_ support your
> assumption that the function would be a "no-op" either way.

Ofcourse it does. It says what the function does. Just like any other
function specified in the standard, it's not allowed to do observable
things that are not stated.

You are reading something into this specification that isn't there, namely
that this is some minimal requrirement of what the function must do, and
not, like everywhere else, the exact specification.

Just because some specifications uses a numbered list of steps doesn't
mean that that is what prevents the function from doing more than what
those steps describe.

This specification is equivalent to using the "algorithm":
1. Return undefined

/L
--
Lasse Reichstein Holst Nielsen
'Javascript frameworks is a disruptive technology'

From: Thomas 'PointedEars' Lahn on
Lasse Reichstein Nielsen wrote:

> Thomas 'PointedEars' Lahn <PointedEars(a)web.de> writes:
>> Garrett Smith wrote:
>>> | The Function prototype object is itself a Function object (its
>>> | [[Class]] is "Function") that, when invoked, accepts any arguments and
>>> | returns undefined.
>>
>> Again, that does _not_ say what can happen between the moment the
>> function is called and the moment it returns. So it does _not_ support
>> your assumption that the function would be a "no-op" either way.
>
> Ofcourse it does. It says what the function does. Just like any other
> function specified in the standard, it's not allowed to do observable
> things that are not stated.

So it could very well do things that are not observable by the caller.

> You are reading something into this specification that isn't there, namely
> that this is some minimal requrirement of what the function must do, and
> not, like everywhere else, the exact specification.

No and no.

> Just because some specifications uses a numbered list of steps doesn't
> mean that that is what prevents the function from doing more than what
> those steps describe.

No.

> This specification is equivalent to using the "algorithm":
> 1. Return undefined

I concur, but that is not at issue here.


PointedEars
--
realism: HTML 4.01 Strict
evangelism: XHTML 1.0 Strict
madness: XHTML 1.1 as application/xhtml+xml
-- Bjoern Hoehrmann
From: Ry Nohryb on
On Apr 30, 1:36 am, Garrett Smith <dhtmlkitc...(a)gmail.com> wrote:
>
> Ah, PointedEars, never one to miss an opportunity to harass the FAQ
> Maintainer with his confusion. And here again... (...)

s/Maintainer/guardian/
--
Jorge.