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.

This is dangerously close to the SML syntax:
structure Shape :> 
sig
   BLAH
end =
...
but I think it is somewhat simpler.  (In my opinion the SML
module system is too complicated.



Reply via email to