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 # | |
(>>=) :: CompPipeline a -> (a -> CompPipeline b) -> CompPipeline b Source # (>>) :: CompPipeline a -> CompPipeline b -> CompPipeline b Source # return :: a -> CompPipeline a Source # fail :: String -> CompPipeline a Source # | |
Functor CompPipeline # | |
fmap :: (a -> b) -> CompPipeline a -> CompPipeline b Source # (<$) :: a -> CompPipeline b -> CompPipeline a Source # | |
Applicative CompPipeline # | |
pure :: a -> CompPipeline a Source # (<*>) :: CompPipeline (a -> b) -> CompPipeline a -> CompPipeline b Source # liftA2 :: (a -> b -> c) -> CompPipeline a -> CompPipeline b -> CompPipeline c Source # (*>) :: CompPipeline a -> CompPipeline b -> CompPipeline b Source # (<*) :: CompPipeline a -> CompPipeline b -> CompPipeline a Source # | |
MonadIO CompPipeline # | |
liftIO :: IO a -> CompPipeline a Source # | |
HasDynFlags CompPipeline # | |
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 # | |
setDynFlags :: DynFlags -> CompPipeline () Source #
setModLocation :: ModLocation -> CompPipeline () Source #
setForeignOs :: [FilePath] -> CompPipeline () Source #