
hi, Robert Will wrote:
hi,
On Fri, 26 Mar 2004, Robert Will wrote:
Honest reply: I don't fully understand FunDeps and I don't want to learn
Well, in fact I couldn't resist the temptation to look it at, only to find that they are really simpler than my earlier information suggested. I also made two small observations (a) that non-circular FunDeps with a single variable on the left side, can be one-to-one emulated via Constructor classes, and (b) parametric type classes correspond exactly to FunDeps with only one constraint. (Both of the special cases occur rather often.) Anyway it consolidates my opinion regarding the Abstract Collections and FunDeps: no need to make a redesign. (Full text at the bottom.)
The only thing that bothers me at the moment, is that I couldn't find the "many other applications of FunDeps" that are mentioned but not given in Jones' paper. Perhaps one should make a list.
functional dependencies are very convenient when you work with muti parameter classes. if you find mutiparameter classes useful is different question, but most people will agree that at least sometimes they are quite useful. to see how they are useful, try and design a nontrivial class hirarchy using mutiparameter classes without functional dependencies. don't forget to try and use it. before i learned about functional dependencies i constantly fell into that trap --- i would create a cool hirarchy of classes, and then as soon as i tried to use them, i would get silly ambiguities, and unresolved overloadings. bye iavor