[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,
Mark
More information about the Haskell
mailing list