Re: [Haskell-cafe] Base classes can be _ELIMINATED_ with interfaces

2009-11-02 Thread Shelby Moore
Shelby Moore wrote: ...A type class is a polymorphic (relative to data type) interface, and the polymorphism is strictly parameterized for the client/consumer of the interface, i.e. the data type is known to the function that inputs the interface AT COMPILE TIME. ...A problem with virtual

[Haskell-cafe] Base classes can be _ELIMINATED_ with interfaces

2009-11-01 Thread Shelby Moore
I was correct before, except I conflated the word extended with eliminated in my mind: http://lambda-the-ultimate.org/node/1277#comment-51723 The most robust solution to Tim Sweeney's problem is to rethink what a class should be:

Re: [Haskell-cafe] Base classes can be _ELIMINATED_ with interfaces

2009-11-01 Thread Shelby Moore
The style of OOP is irrelevant, and if one means by style the conflation of the interface with the data and/or use of virtual (runtime) base class inheritance and the style of that induces, then it is an architectural mistake:

Re: [Haskell-cafe] Base classes can be _ELIMINATED_ with interfaces

2009-11-01 Thread Shelby Moore
Shelby Moore wrote: ...A type class is a polymorphic (relative to data type) interface, and the polymorphism is strictly parameterized for the client/consumer of the interface, i.e. the data type is known to the function that inputs the interface AT COMPILE TIME. ...A problem with virtual