Maximally minimal stack trace standardization

Mark S. Miller erights at google.com
Mon Sep 29 11:00:21 PDT 2014


Agreed. TCO or PTC specified only for strict mode functions, not for all
non-sloppy functions.

Would be nice to extend this at least to bound functions resulting from
binding a strict function, but too late to consider for ES6. In any case,
all such TCO extensions can compatibly happen later.



On Mon, Sep 29, 2014 at 1:44 PM, Allen Wirfs-Brock <allen at wirfs-brock.com>
wrote:

>
> On Sep 29, 2014, at 9:23 AM, Mark S. Miller wrote:
>
> >
> > Although we would both like to see function.caller gone as well, we are
> also both much more skeptical that this is possible. Let's assume that it
> is not. The conclusion that follows is only that sloppy calls to sloppy
> functions can't be TCOed away. That is in any case what we've been
> assuming. That's why, IIRC (haven't checked lately), TCO is only specified
> for calls from non-sloppy functions.
>
> Actually, TCO is only specified for calls from strict mode ECMAScript
> functions.
>
> The only place the distinction between strict and non-sloppy is really
> significant is WRT built-in functions.  Standard built-ins are allowed to
> be implemented either as strict ECMAScript functions or in some
> implementation defined manner (ie, using some other programming language).
> If the latter is the case,  we don't really have any say over their
> internal call semantics, etc.
>
> Allen




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


More information about the es-discuss mailing list