> It would be nice to be able to say
> module Shape(
> Shape,
> Square :: Int -> Shape,
> RotateDegrees :: Int -> Shape -> Shape,
> ...
> ) where . . .
> Ideally one would want to be able to have instance declarations as well.
> This would mean that someone using the Shape module would only have
> to look at the top of the file. Of course such information can be
> added in comments, but then there is no way of checking it.
I suggested this (module interfaces) for Haskell 98, but the consensus was
that it involved too many design decisions to include immediately. However,
many people seem to want this, so I feel sure it will make it into Haskell-2
in some form. Maybe now is a good time to consider the design issues...? I
think Mark Jones enumerated most of them back then. Is the Haskell 98
discussion board that was on John Hughes' page archived anywhere?
--FAC