Abstract Collections vs. FunDeps

Iavor S. Diatchki diatchki at cse.ogi.edu
Thu Apr 1 08:55:03 EST 2004


Robert Will wrote:

>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
>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.


More information about the Libraries mailing list