Ryan Ingram wrote:
On 10/18/07, Janis Voigtlaender <[EMAIL PROTECTED]> wrote:

Yes, but that's a problem of the Arrow library writer, not of GHC. The
compiler will never check a RULE.


I'm going to disagree a bit here; it's not the problem of the Arrow
library writer at all, it's the problem of the implementor of the
faulty arrow (me, in this case).

Yes, it's an issue between you and the Arrow library writer, not between
you and GHC.

I think what Simon was asserting is that none of the internal logic of
GHC assumes any laws to hold for any type classes.


If that's the case, it doesn't address my original point at all, which
was talking about the applicability of class laws to optimization
RULES.

Your original point was that GHC optimization RULES might depend on
class laws. That's obviously true, since anyone can write RULES in
source code. What I find reasserting about Simon's statement is that no
RULES (or other logic) that happen outside the control of the programmer
will depend on class laws being true. Note that GHC internally generates
RULES for some optimization tasks, without the compiler user having the
least inkling. It could easily have been the case that so it also
introduces an associativity law for >>= as given in the H98 report. Only
then I would see how code depends on that law actually being true.

Ciao, Janis.

--
Dr. Janis Voigtlaender
http://wwwtcs.inf.tu-dresden.de/~voigt/
mailto:[EMAIL PROTECTED]

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to