[Hal Daume III <[EMAIL PROTECTED]>]
> It is not.  Lets are expressions.  Wheres are part of declarations.  In a
> grammar sense, you have something like:
> 
> funcdef ::= name = expr (where decls)?
> expr    ::= let decls in expr
> 
> so the declarations inside a let are internal to the expression and can't
> go outside into the where clause.

Shouldn't the layout rule make this apparent? Is the following really
OK?

> In the function body (rhs):
> 
>      let
>          { a = (e1) }
>      in
>         (e2)
>         where
>              { b = f a }

I'd say that's pretty misleading, and maybe should be illegal
layout...?

Matt

-- 
Matt Hellige                  [EMAIL PROTECTED]
http://matt.immute.net
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to