On Fri, Sep 3, 2010 at 4:23 AM, Jonathan S. Shapiro <[email protected]> wrote:
> Lightweight Lambdas
>
> The lightweight lambda idea is simply that every block (bracketed expression
> sequence) is treated as sugar for a lambda introduction having type
> unit->'a, where 'a is the result value of the block. In this view, the LET
> construct takes a nested procedure as its body and evaluates that procedure
> in the let-bound environment. The only impact this has on the current
> language is that it changes the behavior of things like:
>
> expr;
> { // introduce new block. This now forms a lambda
> // rather than introducing a sub-context
> expr;
> expr
> };
> expr
If a naked {} block doesn't have the obvious/traditional meaning then
I assume that you'll issue a very stern compiler warning (error?) upon
finding one.
Stuart Cook
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev