Some thoughts on the 'reveal' operator
Thu, 21 Oct 1999 16:31:39 -0700
At 9:49 AM -0700 9/24/99, Marc Stiegler wrote:
>However, this also means that the value returned from a computation is
>always a capability at risk of being sent off into the far distance. In the
>absence of a reveal operation, in the presence of a computation that has no
>particular return value, E's default behavior (of returning whatever
>happened to be the result of the last operation) is a security breach. This
>seems inappropriate for a language with the goal of allowing secure
Just for reference Algol68 does static typing and the head of the procedure
expression will say "void" for routines that return nothing. The last
expression-statment is "voided", a coersion, in such a routine.
Is it useful for a routine to return a value sometimes and not others? It
is useful to look at a routine head and see if what it returns, if the
Sometimes I like static types and sometimes I don't.
Algol68 unified parenthesis and scope defining blocks. There it would have
been necessary to reveal the "3+5" in "4*(3+5)".
Norman Hardy <http://www.mediacity.com/~norm>