Talk:OOP vs type classes
Bulat, I think existential types somehow correspond to the idea of *subtyping* (as illustrated in the Existential type page, hope you can elaborate on that.
subtyping possible without existensuials, it's just "=>" in "class" declaration. as both me and John said, existensials just packs dictionary togehther with object what makes possible polymorphic lists and so on, i.e. using different _instances_ of the same class inside one list or other container, or in different arguments in function, Bulatz 15:14, 18 August 2006 (UTC)
This is written in the first person in places, which makes it difficult to collaborate on. —Ashley Y 09:25, 27 August 2006 (UTC)
I think Bulat wants to write a detailed tutorial himself and wants our contribution and comments. yes, this is difficult to collaborate on. --Pirated Dreams 09:54, 27 August 2006 (UTC)
my global goal is to write series of little tutorials which explains dark corners of haskell like imperative programming or type classes. i will be pleased by any edits as long as they make text more helpful for potential reader. if you are interested in writing/editing any part of text - don't mind about me. about "first person" problem - writing long texts is not easy task, one of tricks is to imagine that you write/say this to some concrete person. so, the text is started as a speach. you can just edit such parts of texts to more impersonal style, but i think it will be worser. we, humans, have natural ways to communicate and person-to-person talk is _natural_ one, while impersonal talk is unnatural. at last end this means that impersonal text will be not so involving and therefore not so motivating-to-learn. so, i think that the best way is to hold person-to-person style of text while this person, John de Mac-Lee, is our collective image :) but again - if you have alternative text, feel free to replace existing one (which anyway will be kept in History) or add your text in italics, so that Final Editor will select best one or combine them Bulatz 10:43, 27 August 2006 (UTC)