Safe Haskell | None |
---|---|
Language | Haskell2010 |
The CompPipeline monad and associated ops
Defined in separate module so that it can safely be imported from Hooks
Documentation
newtype CompPipeline a Source #
Instances
Monad CompPipeline Source # | |
Defined in PipelineMonad (>>=) :: CompPipeline a -> (a -> CompPipeline b) -> CompPipeline b # (>>) :: CompPipeline a -> CompPipeline b -> CompPipeline b # return :: a -> CompPipeline a # fail :: String -> CompPipeline a # | |
Functor CompPipeline Source # | |
Defined in PipelineMonad fmap :: (a -> b) -> CompPipeline a -> CompPipeline b # (<$) :: a -> CompPipeline b -> CompPipeline a # | |
Applicative CompPipeline Source # | |
Defined in PipelineMonad pure :: a -> CompPipeline a # (<*>) :: CompPipeline (a -> b) -> CompPipeline a -> CompPipeline b # liftA2 :: (a -> b -> c) -> CompPipeline a -> CompPipeline b -> CompPipeline c # (*>) :: CompPipeline a -> CompPipeline b -> CompPipeline b # (<*) :: CompPipeline a -> CompPipeline b -> CompPipeline a # | |
MonadIO CompPipeline Source # | |
Defined in PipelineMonad liftIO :: IO a -> CompPipeline a # | |
HasDynFlags CompPipeline Source # | |
Defined in PipelineMonad |
PipeEnv | |
|
PipeState | |
|
data PipelineOutput Source #
Temporary TempFileLifetime | Output should be to a temporary file: we're going to run more compilation steps on this output later. |
Persistent | We want a persistent file, i.e. a file in the current directory derived from the input filename, but with the appropriate extension. eg. in "ghc -c Foo.hs" the output goes into ./Foo.o. |
SpecificFile | The output must go into the specific outputFile in DynFlags. We don't store the filename in the constructor as it changes when doing -dynamic-too. |
Instances
Show PipelineOutput Source # | |
Defined in PipelineMonad showsPrec :: Int -> PipelineOutput -> ShowS # show :: PipelineOutput -> String # showList :: [PipelineOutput] -> ShowS # |
setDynFlags :: DynFlags -> CompPipeline () Source #
setModLocation :: ModLocation -> CompPipeline () Source #
setForeignOs :: [FilePath] -> CompPipeline () Source #
setIface :: ModIface -> CompPipeline () Source #