| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
PipelineMonad
Description
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 Methods (>>=) :: 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 Methods fmap :: (a -> b) -> CompPipeline a -> CompPipeline b # (<$) :: a -> CompPipeline b -> CompPipeline a # | |
| Applicative CompPipeline Source # | |
Defined in PipelineMonad Methods 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 Methods liftIO :: IO a -> CompPipeline a # | |
| HasDynFlags CompPipeline Source # | |
Defined in PipelineMonad Methods | |
Constructors
| PipeEnv | |
Fields
| |
Constructors
| PipeState | |
Fields
| |
data PipelineOutput Source #
Constructors
| 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 Methods showsPrec :: Int -> PipelineOutput -> ShowS # show :: PipelineOutput -> String # showList :: [PipelineOutput] -> ShowS # | |
setDynFlags :: DynFlags -> CompPipeline () Source #
setModLocation :: ModLocation -> CompPipeline () Source #
setForeignOs :: [FilePath] -> CompPipeline () Source #