Greetings. I have decided to try and understand the type system of haskell with extensions. As far as I can tell, the following set of extensions has been included, for example in ghc: multiparameter type classes constructor classes existential types explicit universal quantification scoped type signatures funtional dep?? Etc There is probably some overlap, and probably missed a few, as i do not understand what all these things do! ! My question: How do you get started learning all this? which of these is the most important? Is there a paper out there that explains most or all of these extensions and why you would want them and HOW the heck they work together? Ron Legere __________________________________________________ Do You Yahoo!? Yahoo! Greetings - send holiday greetings for Easter, Passover http://greetings.yahoo.com/
On Friday, March 29, 2002, 14:43 CET Ronald Legere wrote:
[...] As far as I can tell, the following set of extensions has been included, for example in ghc: multiparameter type classes constructor classes
Type classes can be seen as a specific kind of constructor classes because a type can be seen as a type constructor with zero arguments. So the constructor class concept is more general than the type class concept. Constructor classes aren't an extension but belong to the Haskell 98 standard. They didn't belong to some older versions of the standard, however. Normally, a type or constructor class has one parameter --- a type or a type constructor respectively. The multi-parameter type class concept extends the ordinary *type* class concept such that classes can have multiple parameters but these arguments have to be types. The multi-parameter constructor class concept allows mulitple class parameters which may be arbitrary type constructors. I think GHC used to implement only multi-parameter type classes while Hugs implemented multi-parameter constructor classes. The newer GHC versions implement multi-parameter constructor classes as well.
[...] Is there a paper out there that explains most or all of these extensions and why you would want them and HOW the heck they work together?
I don't know of such a paper. There is several information distributed over several documents. Concerning (single-parameter) constructor classes, you may consult some Haskell 98 document, for instance the Gentle introduction to Haskell or the Haskell report. Concerning the other things, you may, for example, have a look at Simon Peyton Jones' Haskell stuff, referenced on http://research.microsoft.com/users/simonpj/.
[...]
Wolfgang
Thanks to all who responded to my post RE: type systems... If anyone else was wondering about this stuff, I found that one way to get a handle on the basics was to read "Types and Programming" by Pierce. It doesnt really talk about haskell, and its somewhat technical, but it was the most practical style book I could find :). I am still working through it. In any event, these various extensions don't seem so esoteric to me any more. Esp. explicit universal quantification. I never needed it before... but now it seems like an obvious generalization :) Cheers! --- Ronald Legere <rjljr2@yahoo.com> wrote:
Greetings. I have decided to try and understand the type system of haskell with extensions. As far as I can tell, the following set of extensions has been included, for example in ghc: multiparameter type classes constructor classes existential types explicit universal quantification scoped type signatures funtional dep?? Etc
There is probably some overlap, and probably missed a few, as i do not understand what all these things do! ! My question: How do you get started learning all this? which of these is the most important? Is there a paper out there that explains most or all of these extensions and why you would want them and HOW the heck they work together?
Ron Legere
__________________________________________________ Do You Yahoo!? Yahoo! Greetings - send holiday greetings for Easter, Passover http://greetings.yahoo.com/ _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
__________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com
participants (2)
-
Ronald Legere -
Wolfgang Jeltsch