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

Reply via email to