[Haskell] MR details (was: Implicit type of numeric constants)

Christian Sievers sievers at math2.nat.tu-bs.de
Fri Sep 22 14:33:50 EDT 2006


I don't take my advice to go to haskell-cafe  :-)

The discussion continued outside the mailing list, and now I have
two questions myself:

1. Why do the rules of the monomorphism restriction explicitly mention
   *simple* pattern bindings?
   Where is the difference, especially as there is a translation to
   simple pattern bindings?
   Why should

   p | "a"=="b"  = 2
     | otherwise = 3

   be treated different than

   p = if "a"=="b" then 2 else 3

2. The gentle introduction says in section 12.3:
   An identifier is monomorphic if is either not overloaded, or is overloaded
   but is used in at most one specific overloading and is not exported.

   How does that relate to the report?

Maybe I have to withdraw what I said about haskell being well defined.

All the best
Christian Sievers

More information about the Haskell mailing list