ES4 draft: the global object

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

> -----Original Message-----
> From: zeppieri at [mailto:zeppieri at] On 
> Behalf Of Jon Zeppieri
> Sent: 25. mars 2008 10:30
> To: Lars Hansen
> Cc: es4-discuss at
> 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> 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

> 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?


> 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.)


More information about the Es4-discuss mailing list