Hello Thomas, Friday, August 18, 2006, 7:57:13 AM, you wrote:
>> There is a major difference though, in C++ (or java, or sather, or c#, >> etc..) the dictionary is always attached to the value, the actual class >> data type you pass around. in haskell, the dictionary is passed >> separately and the appropriae one is infered by the type system. C++ >> doesn't infer, it just assumes everything will be carying around its >> dictionary with it. > C++ programmers deal with this using a number of techniques, mostly > involving templates. Haskell type classes are closer to templates/generics than to classes itself > Actually, there is one technique using C++ templates that I really > want to see going mainstream in the Haskell implementations. > Existential types are already there, now I want to see associated > types (trait types in C++). Maybe I've been doing too much C++ > programming in the last few years, but a lot of the times when I end > up using multiparameter type classes, what I really want is an > associated type. i also wrote a lot of such code for Streams library and can say that MPTC+FD are close enough to emulate AT, although need slightly more verbose definitions. moreover, AT are already implemented in GHC 6.5, afai seen in ghc-cvs reports > For those who are interested, I'm sure the relevant papers are readily > available on citeseer/Google. :-) http://haskell.org/haskellwiki/Research_papers/Type_systems#Associated_types -- Best regards, Bulat mailto:[EMAIL PROTECTED] _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe