On 26-Jan-2003, John H?rnkvist <[EMAIL PROTECTED]> wrote: > > On Saturday, January 25, 2003, at 04:14 AM, Andrew J Bromage wrote: > > >G'day all. > > > >On Fri, Jan 24, 2003 at 06:13:29PM -0500, Norman Ramsey wrote: > > > >>In a fit of madness, I have agreed to deliver a 50-minute lecture > >>on type classes to an audience of undergraduate students. These > >>students will have seen some simple typing rules for F2 and will > >>have some exposure to Hindley-Milner type inference in the context > >>of ML. > > > >Will they have had exposure to more "traditional" OO programming? If > >so, it might be useful to note the difference between Haskell type > >classes and C++/Java/whatever classes, namely that Haskell decouples > >types and the interfaces that they support. The advantage is that you > >can extend a type with a new interface at any point, not just when you > >define the type. > > While Java and C++ don't support it other object oriented languages do.
Some others do, some others don't. And in fact it seems that most mainstream OOP languages don't. For example C#, Eiffel and Ada-95 don't, if I recall correctly. Sather does support it, but Sather is hardly mainstream (the language is just about dead these days). GNU C++ used to support it, with the "signature" extension, but doesn't anymore (support for that extension was dropped). Of the vaguely mainstream OOP languages, I think only the dynamically-typed ones support it. -- Fergus Henderson <[EMAIL PROTECTED]> | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp. _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell