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

Reply via email to