[Haskell] Object-Orientation and Haskell
ralfla at microsoft.com
Sat Sep 24 04:29:41 EDT 2005
> Define a type A such that for any type B you can define
> up :: B -> A
> down :: A -> Maybe B
> such that
> down . up = Just
> You can do this quite easily in Java or C++, mutatis mutandis. You
> do this in Haskell, I don't think. You can't actually do this in
> O'Haskell either, it seems the O' essentially amounts to syntactic
You can't even do this in OCaml.
However, in OOHaskell you can.
>From the TOC of the OOHaskell paper
5.4 Casts based on dynamics 50
5.5 Casts based on unions 51
The second technique may add something to this discussion here.
We use a sort of intersection-type encoding (also reminiscent of TICs).
More information about the Haskell