On Sun, 27 May 2007, Andrew Coppin wrote: > I'm thinking more about things like phantom types, rank-N polymorphism, > functional dependencies, GADTs, etc etc etc that nobody actually understands. >
I think you'll find a fair number of people do in fact understand them! > This worries me greatly. I'm really afraid that Haskell will go from being > this wonderful, simple language that you can explain in a page or two of text > to being this incomprehensible mass of complex type machinery that I and most > other human beings will never be able to learn or use. :-( > So don't use type extensions in your own code? It's comparatively rare to have any big problems using libraries that make use of them - I remember banging my head briefly the first time I used ST as a newbie, but that was about it. > What worries me is the day when you'll need to understand set theory and > propositional calculus just to use any of the standard libraries. It would be no bad thing if people were less scared of them and just learned - they're not complicated. > (Already I > can't use the State monad because it requires some extension or other. Not > that I understand why - as far as I can tell, it's 100% possible to define a > State monad without language extensions. The library just doesn't, that's all. > Well, I can always define my own I guess...) > The library doesn't because defining a sufficiently generic notion of State monad (enough so that we can treat a more complex monad that also has a notion of state the same way) requires the extensions. It's all about the polymorphism - one of the reasons Haskell code stays simple is that the amount of polymorphism possible makes people less keen on writing massive overbearing frameworks. -- [EMAIL PROTECTED] There is no magic bullet. There are, however, plenty of bullets that magically home in on feet when not used in exactly the right circumstances. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe