Putting `global` reference in specs

Mark S. Miller erights at google.com
Fri Apr 17 16:11:44 UTC 2015


Yes, something like that is quite plausible. Note though the difference.
Promise is an authority-free safe thing stdized as a global primordial by
the ES spec, with a behavior spec'ed by the ES spec. Although one might
still wish to virtualize it, the reasons are very different.



On Fri, Apr 17, 2015 at 9:06 AM, Jonathan Bond-Caron <
jbondc at gdesolutions.com> wrote:

>  Not so pretty but:
>
> import * as global from “@global”;
>
>
>
> Or some bindings:
>
> import {Promise} from “@global”;
>
>
>
>
>
> *From:* es-discuss [mailto:es-discuss-bounces at mozilla.org] *On Behalf Of *Mark
> Miller
> *Sent:* April 17, 2015 11:53 AM
> *To:* Glen Huang
> *Cc:* Mark S. Miller; es-discuss at mozilla.org
> *Subject:* Re: Putting `global` reference in specs
>
>
>
> This is one of several cases where, post ES6, we can provide a std module
> import that provides a built-in that carries authority. Another example is
> the constructor for making weak references, which necessarily provide the
> ability to read a covert channel. As with shadowable globals, this module
> import must be easy to virtualize. We purposely postponed this along with
> the Loader and Realm API as it is security sensitive and we don't yet have
> enough usage experience with modules to know how to design this separation
> well.
>
>
>
> In particular, we rejected the obvious Reflect.global as it bundles the
> global together with authority-free safe things, which makes virtualization
> of the global alone needlessly unpleasant.
>
>
>
>
>
>
>
> On Fri, Apr 17, 2015 at 8:45 AM, Glen Huang <curvedmark at gmail.com> wrote:
>
>  You guys are talking about referencing the global object in modules
> right? Since in scripts you can reliably get hold of the global object by
> using "this" in the root scope.
>
>
>
> And es 2015 made an explicit choice to clobber "this" in the root scope of
> a module, I guess that means module code really isn't supposed to get hold
> of the global object?
>
>
>
>  On Apr 17, 2015, at 11:34 PM, Mark S. Miller <erights at google.com> wrote:
>
>
>
> I almost omitted it, but one should never need to encounter or think about
> sloppy code unless absolutely necessary. For my brain, adding the "use
> strict"; makes this snippet of code much simpler.
>
>
>
>
>
> On Fri, Apr 17, 2015 at 8:30 AM, Andreas Rossberg <rossberg at google.com
> > wrote:
>
>   On 17 April 2015 at 17:27, Mark S. Miller <erights at google.com> wrote:
>
>  (1,eval)('"use strict"; this')
>
>
>
> Is the 'use strict' relevant here? Seems overkill.
>
>
>
> /Andreas
>
>
>
>
>
>
>
> On Fri, Apr 17, 2015 at 8:23 AM, Andrea Giammarchi <
> andrea.giammarchi at gmail.com> wrote:
>
>   there's actually no way, officially, to reference what ES2015 call *the
> global object*, just pointless fragmentation between engines.
>
>
>
>
>
>
>
> On Fri, Apr 17, 2015 at 4:19 PM, Anne van Kesteren <annevk at annevk.nl
> > wrote:
>
> On Fri, Apr 17, 2015 at 5:12 PM, Andrea Giammarchi
> <andrea.giammarchi at gmail.com> wrote:
> > So I'd say we should not have `self` (if stays on global and Worker I
> don't
> > actually care) and add a `global` that nobody needs explanation to
> > understand what it is in JavaScript
>
> Indeed, three ways to reference the global object is not nearly enough.
>
>
> --
> https://annevankesteren.nl/
>
>
>
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
>
>
> --
>
>     Cheers,
>     --MarkM
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
>
>
>
>
> --
>
>     Cheers,
>     --MarkM
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
>
>
> --
>
> Text by me above is hereby placed in the public domain
>
>   Cheers,
>   --MarkM
>



-- 
    Cheers,
    --MarkM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150417/87e1907b/attachment.html>


More information about the es-discuss mailing list