[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