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

Reply via email to