[E-Lang] the return of `return'
Dean Tribble
tribble@e-dean.com
Tue, 19 Jun 2001 18:09:11 -0700
>Thank you so much for explaining hygienic macros! I've wanted to learn about
>them for a long time.
You are welcome. I find them fascinating, but them I'm a
language-geek. There is a particular paper that finally figured out how to
efficiently support hygienic expansion, controlled non-hygienic expansion,
pattern matching, etc. I couldn't find the reference in my quick search,
but I've given copies to MarkM occasionally.... As far as I know, that's
the only paper you need.
> > Note that if "return" is required (which I prefer), the :any
> declaration is
> > redundant; it should be integrated with the introduction of the return.
>
>I advocate making ":retAny" the default guard, which means that by default no
>capabilities can leak from the function without an explicit return. However,
>automatically returning the last expression can be very useful or elegant, so
Do you have some good examples? Are they sufficiently compelling to
motivate a difference from common practice?
>I advocate that you can explicitly specify e.g. an ":expSafeRabbit" guard to
>allow such values, but with coercion to "safe rabbit" by the guard.
I can't actually tell if this is sarcasm or an actual proposal :-) In any
case, it is sufficiently far out that it doesn't sound worth the conceptual
expense.
>One could also specify ":expAny", but that would be insecure -- just
>asking for
>capabilities to start leaking as the source code evolves.