three small proposals: the bikeshed cometh!

Mark S. Miller erights at google.com
Thu Apr 29 19:26:39 PDT 2010


On Thu, Apr 29, 2010 at 6:11 PM, Brendan Eich <brendan at mozilla.com> wrote:
> We discussed this on the list. Maciej argued strongly against TCP as maximum good that trumps other considerations:
> https://mail.mozilla.org/pipermail/es-discuss/2008-December/008390.html [...]
> Then you replied: https://mail.mozilla.org/pipermail/es-discuss/2008-December/008391.html
> And Allen agreed: https://mail.mozilla.org/pipermail/es-discuss/2008-December/008392.html
> [...]
> The explicit completion value here-syntax in Dave's let expression proposal does not address all the concerns from this end-of-2008 lambda thread.

No, but Dave's syntax does address one of the main reasons I gave up
on lambda. The prospect of introducing it anyway to support the let
expression makes lambda seem like a much lighter weight concept to me.

> We can't keep going around on this. I'm all in favor of shorthand for function, but TC39 virtually dropped lambda. Do we really need to revive it (and return to label, and probably other things we probably can't afford)?

What's the metric of "afford" here? If these things impose a
surprising implementation cost, then I'm all ears. Do they?

In any case, lambda aside, I do think we need at least break and
continue to unshadowed labels in lexically enclosing functions. Since
labels are already a separate namespace, and since a break or continue
to a non-local label is currently a static error, generalizing labels
to follow inter-procedural static scope visibility would be fully
upwards compatible with zero new syntax. It would make the language
psychologically simpler by removing the need to explain an irregular
restriction.

Given these, I'd also like a return to label if a nice syntax can be
found. I don't like the currently proposed syntax, but have nothing
better to suggest.

> /be


--
    Cheers,
    --MarkM


More information about the es-discuss mailing list