> > Module cycles have supported in nhc98 since forever, by simply
> > providing a bootstrapping .hi file.
>
> yay! Is the format of this .hi file documented somewhere?
It simply contains type signatures for exported functions, together with
datatype, class, and instance decls. A signature for function 'foo' is
preceded by a {-# NEED foo #-} pragma; a datatype or class decl is
preceded by a similar pragma listing precisely the exported
constructors, fieldnames, or methods.
Sections of the file are introduced by
interface ! Foo.Bar
or
interface Foo.Bar
The former indicates re-exports from a different module. The latter
indicates entities (types or classes only) that are required from a
different module in order to make sense of the type signatures exported
here, but the external entities are _not_ re-exported.
Regards,
Malcolm
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc