seeking ideas for short lecture on type classes
Fergus Henderson
fjh@cs.mu.OZ.AU
Mon, 27 Jan 2003 20:32:33 +1100
On 26-Jan-2003, John H?rnkvist <john@toastedmarshmallow.com> 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 <fjh@cs.mu.oz.au> | "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.