Hello,

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
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to