On Thu, 2008-09-11 at 18:34 +0200, Johannes Waldmann wrote: > >> if support for this simple shape of dependencies ( ... | a -> b ) ... > > > For backwards-compatibility reasons, > > Yes.
This gives point, then, to my concerns about letting Haskell become a practical language. At some point, production systems always seem to be end-of-lifed by backwards compatibility. > > or because you think they're better than type families? > > Don't know (haven't used them). > > Concrete example: I have this "class Partial p i b | p i -> b" > http://dfa.imn.htwk-leipzig.de/cgi-bin/cvsweb/tool/src/Challenger/Partial.hs?rev=1.28 > > What would type families buy me here? I can't figure out what b is. I could, of course, argue that it would force you to come up with a name for `b', so people reading the code could understand what it does. > In my code, this class has tons of instances (I count 80). > How much would I need to change them? instance Partial p i b where => instance Partial p i type B p i = b And type signatures involving Partial would have to change. > Could this be automated? To a certain extent. Finding the places that need to change could be automated, which is always the first step :) jcc _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
