That's an interesting question. I'm not even close to an expert, but I *think* that parametricity prevents those particular rules from breaking Safe Haskell guarantees. The laws may not *hold* for a broken instance, but I don't *think* that lets you break type safety or IO encapsulation.
Am Freitag, den 15.08.2014, 23:10 +0300 schrieb Wolfgang Jeltsch:
> Hi,
>
> 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,
> Wolfgang
Hi,
could someone please answer this e-mail? This issue is important for me.
All the best,
Wolfgang
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users