Is Global Environment Regard one of the Object Environment Record?

Allen Wirfs-Brock allen at
Thu Jun 28 10:46:09 PDT 2012

The specification of the Global Env. Record is obviously incomplete in the current draft and there are some global scope design issues that remain to be resolved.  Hopefully, at the July TC39 meeting. 

It it likely that the Global Emnv. Record will ultimately be some sort of hybrid between an Object Env. Record and and a Declarative Env. Record. Some declarations (let, const, etc.) will be treated as declarative and others (var, built-ins, etc.) will be object property bindings on the global object.  There are various issues to work out but for now a reasonable approximation of the Global Env Record would be a Declarative Env Record that shadows an Object Env. Record on the global object.

On Jun 28, 2012, at 1:20 AM, Yusuke Suzuki wrote:

> Hello,
> I have questions about Global Environment Record in current draft.
> In section 10.5.1 Top-Level Declaration Instantiation, step 4-d-ii
> ii. Call env’s InitializeBinding concrete method passing fn, and undefined as the arguments.
> I think that global environment will be defined as one of the object environment (because of ES5.1), then env doesn't have InitializeBinding (not Declarative Environment Record), is it right?

ultimately, it probably will have an InitializeBinding.  But the content of 10.5.1 is also subject to significant change as we work out the final details of the global scope design and modules.
> P.S.
> And in step 4-d-i,
> Call env’s CreateMutableVarBinding concrete method passing fn and configurableBindings as the arguments.
> CreateMutableVarBinding is not defined in the current draft. Is it spec issue? Or only not defined yet?

typo,  that should have been CreateVarBinding
> Regards,
> Yusuke Suzuki _______________________________________________
> es-discuss mailing list
> es-discuss at

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list