On Sun, Jun 01, 2008 at 05:39:49PM +0400, Serge D. Mechveliani wrote: > > This is why res and 1*res are not equivalent in Haskell-98 for > res :: Num a => a. > > Am I missing something?
The library functions assume that class instances obey some unwritten laws; it's all a bit vague, but if your instances don't obey them then you might find that things go wrong when using library functions. For example, if your (*) isn't associative then (^) is going to give odd results, and if the type of the second argument to (^) doesn't do arithmetic in the normal way then very strange things could happen. Anyway, I've just tweaked the (^) definition again, so your code should work in 6.8.3. Thanks Ian _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users