[Haskell-cafe] Re: ANNOUNCE: GHC survey results
Johannes Waldmann
waldmann at imn.htwk-leipzig.de
Tue Jun 28 13:29:49 EDT 2005
Bulat Ziganshin wrote:
> JW> interface Figure
> JW> class Circle implements Figure
> JW> class Box implements Figure
>
> this don't give ability to create polymorphic collections
You mean in Haskell? I would probably use existential types then.
Something like data EFigure = forall f . Figure f => EFigure f
and - as Georg Martius once pointed out -
with an additional "instance Figure EFigure ..."
to avoid at least some of the (un)boxing code.
As a whole, this *does* look messy - Java programmers can nicely write
the name of the interface when they mean some unspecified instance:
Figure f = new Circle () ...
Of course that's only so because their interfaces (type classes)
are always unary predicates. I definitely would not give up multi
parameter type classes from Haskell. But still the Java notation
looks neat and concise.
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
---- http://www.imn.htwk-leipzig.de/~waldmann/ -------
More information about the Haskell-Cafe
mailing list