> IIRC .Net interfaces cannot be added outside assembly (I may be wrong). > On the other hand Haskell does not have inheritance. > > Generally > Haskell: newtype/data specify data (and type) while classes provides > basic abstract operations on it. > C#/Java/...: Classes specify data AND how to operate on it (including > non-basic operators) and interfaces abstract operations. > > - It is not that it can occur once: > > class Abc x where > abc :: x -> [x] > > is roughly: > > interface Abc<in T> { > public IList<T> abc(); > > } > > - It seems that it is not possible to have default implementations in > interfaces.
To understand the extend haskell supports object oriented behavior such as inheritance it is worth reading: http://homepages.cwi.nl/~ralf/OOHaskell/paper.pdf Perhaps, I should start a new discussion on this. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe