[E-Lang] E Project, Documentation, and new programmers

Dan Bornstein danfuzz@milk.com
Thu, 12 Apr 2001 11:43:51 -0700 (PDT)


Mark S. Miller writes:
>I think you're recapitulating E's existing escape expression
>http://www.erights.org/elang/kernel/EscapeExpr.html , and its
>implementation in Java using Ejector and Ejection. The "escape" expression
>is the moral equivalent of Scheme's "call/cc", except that the Ejector it
>creates and binds is a dynamic-extent, rather than an indefinite-extent,
>continuation. I'd guess this distinction is what you mean by
>"downward-passing".

Yes, exactly.

Okay, then, here's possibly a better way to state the proposal:

    Every method definition should have an implicit binding of the
    identifier "return" to an escape function which, if called, returns
    from the method with the given value, and there should not be any
    implicit return value from a method (that is, falling off the end
    of a *method*--not just any block--is tantamount to returning null).

-dan