Rules for class methods and Safe Haskell

David Feuer david.feuer at gmail.com
Thu Nov 13 19:12:18 UTC 2014


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" <g9ks157k at acme.softbase.org>
wrote:

>
> 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20141113/4be32384/attachment.html>


More information about the Glasgow-haskell-users mailing list