On 6/28/07, Simon Marlow <[EMAIL PROTECTED]> wrote:
The right sequence would be
(a) setTarget to the desired filename
(b) depanal
(c) find the module name by searching in the ModGraph
(d) checkModule
and checkModule should optionally return the Core too.
Unfortunately, checkModule currently also does a depanal (it shouldn't, I'll
remove it). Also checkModule doesn't return the Core (it should).
I've made these changes and checked in the code. This simplifies the
procedure for calling compileToCore even further:
----------
ghcBaseDir = -- whatever
coreFileName = -- whatever
main = defaultErrorHandler defaultDynFlags $ do
-- Set up flags...
s <- newSession (Just ghcBaseDir)
flags1 <- getSessionDynFlags s
(flags2, _) <- parseDynamicFlags flags1 ["-cpp"]
setSessionDynFlags s flags2
-- Compile to Core
ghc_core <- compileToCore s coreFileName
case ghc_core of
Just cb -> pprTrace "Core binds: " (ppr cb)
return ()
_ -> putStrLn "error compiling to Core"
----------
The call to setTarget is eliminated (compileToCore does that now.)
Cheers,
Tim
--
Tim Chevalier* catamorphism.org *Often in error, never in doubt
"The certainty of failure is sometimes a reason to try." -- Lawrence Lessig
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc