<p dir="ltr">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.</p>
<div class="gmail_quote">On Nov 13, 2014 2:03 PM, "Wolfgang Jeltsch" <<a href="mailto:g9ks157k@acme.softbase.org">g9ks157k@acme.softbase.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Am Freitag, den 15.08.2014, 23:10 +0300 schrieb Wolfgang Jeltsch:<br>
> Hi,<br>
><br>
> the module Control.Arrow declares a set of rules for the Arrow class. It<br>
> is marked “Trustworthy”, probably to allow these rules to actually fire.<br>
><br>
> Now these rules are only correct for class instances that actually<br>
> satisfy the arrow laws. If the author of another module defines an<br>
> instance of Arrow that does not respect the laws, this other module<br>
> could still be considered “Safe” by GHC, although the rules from<br>
> Control.Arrow are bogus now.<br>
><br>
> Is this considered a problem?<br>
><br>
> All the best,<br>
> Wolfgang<br>
<br>
Hi,<br>
<br>
could someone please answer this e-mail? This issue is important for me.<br>
<br>
All the best,<br>
Wolfgang<br>
<br>
<br>
_______________________________________________<br>
Glasgow-haskell-users mailing list<br>
<a href="mailto:Glasgow-haskell-users@haskell.org">Glasgow-haskell-users@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/glasgow-haskell-users" target="_blank">http://www.haskell.org/mailman/listinfo/glasgow-haskell-users</a><br>
</blockquote></div>