[E-Lang] the return of `return'
zooko@zooko.com
zooko@zooko.com
Tue, 19 Jun 2001 07:19:59 -0700
Dean:
Thank you so much for explaining hygienic macros! I've wanted to learn about
them for a long time.
Dean Tribble wrote:
>
> 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
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.
One could also specify ":expAny", but that would be insecure -- just asking for
capabilities to start leaking as the source code evolves.
Regards,
Zooko