[Haskell-cafe] Haskell's overlooked object system: was OO idioms redux

MR K P SCHUPKE k.schupke at imperial.ac.uk
Thu Oct 14 09:18:08 EDT 2004

>'extensible record' proposal.

HList is extensible records implemented in Haskell +
multi-parameter types and functional dependancies. In other words
you can already do all the recordy stuff in Haskell... HList
is simply a collection library using these techniques.

>Haskell 98 does not have row-polymorphism, does it?

See above... Basically using HLists as the core of an
object representation you can do all the forms of inheritance
and virtual functions that OCaml has (and more?) 

Again OOHaskell is simply a library (in Haskell) to make
this easy. There are no new language extensions required and
we can do anything in the OCaml tutorial.

This is interesting because we can reduce all the mechanisms
of OO programming to type-classes, and from there to System F.


More information about the Haskell-Cafe mailing list