ES4 draft: the global object

Lars Hansen lhansen at adobe.com
Tue Mar 25 14:47:50 PDT 2008


> -----Original Message-----
> From: zeppieri at gmail.com [mailto:zeppieri at gmail.com] On 
> Behalf Of Jon Zeppieri
> Sent: 25. mars 2008 10:30
> To: Lars Hansen
> Cc: es4-discuss at mozilla.org
> Subject: Re: ES4 draft: the global object
> 
> I think I need to understand the following before I can 
> comprehend the rest:
> 
> On Tue, Mar 25, 2008 at 12:42 PM, Lars Hansen 
> <lhansen at adobe.com> wrote:
> >
> >  Note also that
> >
> >   eval(s)
> >
> >  is the same as
> >
> >   null::eval(s)
> >
> >  so arguments about 'namespaced operators' are probably not right.
> 
> Not right in what sense?  I'm not sure whether you're 
> claiming that the operator form of intrinsic::eval isn't a 
> namespaced operator (in which case, how is it not a pun?) or 
> that it's not the *only* namespaced operator.  (Or maybe you 
> mean something else entirely...)

I mean that all names are in some namespace, and the name you 
think of as "isNaN" is really "null::isNaN", where null represents
a "compatibility namespace", to pick something less ambiguous than
"eval".

> Is the following legal ES4:
> 
> (x null::< y)
> 
> (I would have thought no.)

Not at present, and not previously.

> Do operator identifiers (like '<') name syntactic bindings?

No.

> Or maybe the term 'operator' is being used equivocally here?

Operator in the sense that '<' is syntax that causes the language
implementation to operated upon values, but there is no operator
overloading and no syntactic bindings for operators at present.
(They were in for a while, and operators were in the intrinsic
namespace: intrinsic::=== for example.)

--lars



More information about the Es4-discuss mailing list