[Haskell] Re: Re: RE: Extensible records: Static duck typing

Mark P Jones mpj at cs.pdx.edu
Fri Feb 22 00:53:59 EST 2008

Barney Hilken wrote:
> I totally disagree. The great strength of Haskell is that, whenever 
> important design decisions have been made, the primary consideration has 
> not been practicality, but generality and mathematical foundation. When 
> the Haskell committee first started work, many people said lazy 
> evaluation was an academic curiosity: mathematically right, but far too 
> inefficient for real programs. When Haskell adopted type classes, people 
> said they were far too heavy a machinery to solve the relatively simple 
> problems of equality, show and numbers. In each case the more general, 
> abstract approach has shown enormous advantages in the long term. I'm 
> sure the same will be true of associated types, which are a lot more 
> complex than functional dependencies, but also more general, and more 
> mathematical.

While I agree with your general argument, I wonder if you realize
that functional dependencies have a strong, general, and elegant
mathematical foundation that long predates their use in Haskell?
If you want even a brief glimpse, there's s short article at
http://en.wikipedia.org/wiki/Functional_dependencies that might
give you some ideas.  The mathematics of functional dependencies
plays an important role in the theory of relational databases.

I don't know what you consider as the mathematical foundations
for associated types, nor do I know why you consider that to be
either more general or more "mathematical" (whatever that means)
but I hope you'll enjoy the material on functional dependencies.

All the best,

More information about the Haskell mailing list