Rules for class methods and Safe Haskell

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

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

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.
On Nov 13, 2014 2:03 PM, "Wolfgang Jeltsch"
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
participants (2)
-
David Feuer
-
Wolfgang Jeltsch