I'll add a note to the user guide; good point.

Let and where are not equivalent and never have been: 

    let is an expression form, and can be nested

    where scopes over guards, and is not an expression form,
        and cannot be nested

Simon

| -----Original Message-----
| From: Alastair Reid [mailto:[EMAIL PROTECTED]]
| Sent: 11 September 2002 20:45
| To: [EMAIL PROTECTED]
| Subject: Documentation for implicit parameters
| 
| 
| We normally expect these forms to be equivalent:
| 
|   let <bindings> in e
| 
|   e where <bindings>
| 
| As I was eliminating uses of with bindings, I found that this was not
| true for implicit parameter bindings.  That is,
| 
|   f x = let ?x = e in e'
| 
| is valid, but
| 
|   f x = e' where ?x = e
| 
| is not.
| 
| I found this while updating old code using s/with/where/.
| 
| 
| It would be good to document this in the user guide.
| (Better yet to restore the equivalence.)
| 
| A
| _______________________________________________
| Glasgow-haskell-bugs mailing list
| [EMAIL PROTECTED]
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to