On 30/10/09 05:32, Rogan Creswick wrote:
On Thu, Oct 29, 2009 at 6:54 PM, Magicloud Magiclouds
<magicloud.magiclo...@gmail.com>  wrote:
  My concern here is about the data member inheriting. In OOP, when I
inherit a class, I also got the members of it. But in haskell, how to
inherit a "data"?

[..]

The point of that whole rant is that extending data-bearing classes isn't
necessarily a good idea, so before trying to find a way to do it with
haskell, it may be better to just encapsulate another data type, which is
trivial:

data InnerThing = A | B | C

data OuterThing = Outer { innerThing :: InnerThing, otherField :: Int }

IIRC James Gosling once said that if he were to design Java today he would
leave out classes.  I suppose partly due to many of the issues with "data
inheritance".

/M

--
Magnus Therning                        (OpenPGP: 0xAB4DFBA4)
magnus@therning.org          Jabber: magnus@therning.org
http://therning.org/magnus         identi.ca|twitter: magthe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to