* Heinrich Apfelmus <apfel...@quantentunnel.de> [2013-10-02 11:24:39+0200] > In other words, equality of abstract data types is different from > equality of algebraic data types (constructors). I don't think you'll > ever be able to avoid this proof obligation that the public API of an > abstract data type preserves equivalence, so that LVish will yield > "results that are deterministic up to equivalence".
It still seems to fit nicely into Safe Haskell. If you are the implementor of an abstract type, you can do whatever you want in the Eq instance, declare your module as Trustworthy, and thus take the responsibility for soundness of that instance w.r.t. your public API. Roman
signature.asc
Description: Digital signature
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe