Simon Peyton-Jones wrote:
| In typecheckedSource, I can only access the function definitions with
| type annotations, but not the data type declaration.
| In checkedModuleInfo, I can only access the "Names" of the exported
| entities, and but not their (inferred) types are not present.
You have easy access to the data decls:
In a ModuleInfo is a TypeEnv.
The range of the type env (gotten with typeEnvElts) are TyThings.
A TyThing can be
a Id
a Class
a TyCon
a DataCon
So just pull out those TyCons and away you go! (Lots of accessor functions for
TyCons in module TyCon.)
Many of the TyCon accessor functions are available from module GHC. If you find
there's something from that you need that exists but isn't exported by the GHC
module, then please let us know - this is one example of the kind of feedback we
need to improve the GHC API. In theory, you should only need to import GHC; in
practice this often isn't the case, which is why we haven't gone for strict
hiding of everything except GHC in the package.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users