Rules for class methods and Safe Haskell

Wolfgang Jeltsch g9ks157k at
Fri Aug 15 20:10:39 UTC 2014


the module Control.Arrow declares a set of rules for the Arrow class. It
is marked “Trustworthy”, probably to allow these rules to actually fire.

Now these rules are only correct for class instances that actually
satisfy the arrow laws. If the author of another module defines an
instance of Arrow that does not respect the laws, this other module
could still be considered “Safe” by GHC, although the rules from
Control.Arrow are bogus now.

Is this considered a problem?

All the best,

More information about the Glasgow-haskell-users mailing list