[GHC-as-a-library]getModuleInfo: instances for package module unimplemented

kenny lu haskellmail at gmail.com
Tue Aug 21 02:51:14 EDT 2007


Hi all,

We've been using to GHC-as-a-library to implement some parts of our project.
Our goal is to use ghc to extract necessary type information from Haskell
modules.

Everything works fine until we attempt to collect the declared type class
instances from a packaged haskell module, like List, Monad, etc.
The program terminates with an error as  follows,


getModuleInfo: instances for package module unimplemented




We manually trace into the source file /ghc/compiler/main/GHC.hs
and find the following snipet of code:


getPackageModuleInfo :: HscEnv -> Module -> IO (Maybe ModuleInfo)
getPackageModuleInfo hsc_env mdl = do
#ifdef GHCI
  (_msgs, mb_avails) <- getModuleExports hsc_env mdl
  case mb_avails of
    Nothing -> return Nothing
    Just avails -> do
    eps <- readIORef (hsc_EPS hsc_env)
    let
            names  = availsToNameSet avails
        pte    = eps_PTE eps
        tys    = [ ty | name <- concatMap availNames avails,
                Just ty <- [lookupTypeEnv pte name] ]
    --
    return (Just (ModuleInfo {
            minf_type_env  = mkTypeEnv tys,
            minf_exports   = names,
            minf_rdr_env   = Just $! nameSetToGlobalRdrEnv names (moduleName
mdl),
            minf_instances = error "getModuleInfo: instances for package
module unimplemented",
                        minf_modBreaks = emptyModBreaks
        }))



It is clearly that the field mind_instances is not assigned to a proper
value.

Can someone kindly advise on how to implement the missing bit?
Or pointing out a workaround?

Thank you very much.

Best Regards,
Kenny Zhuo Ming Lu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20070821/43cd3e2c/attachment-0001.htm


More information about the Glasgow-haskell-users mailing list