Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Backend :: *
- data Pipeline :: *
- data MMT m x a
- runMMT :: MMT m x a -> ReaderT (ModuleFetcher (MMT m x)) (StateT (Modules x) m) a
- mapMMT :: (ReaderT * (ModuleFetcher (MMT t2 t1)) (StateT (Modules t1) t2) t -> ReaderT * (ModuleFetcher (MMT m x)) (StateT (Modules x) m) a) -> MMT t2 t1 t -> MMT m x a
- type MM = MMT IO Infos
- runMM :: Monad m => ModuleFetcher (MMT m x) -> MMT m x a -> m a
- ioFetch :: MonadIO m => [FilePath] -> ModuleFetcher (MMT m x)
- decideFilePath :: FilePath -> Either FilePath FilePath
- loadModule :: MonadMask m => ((Infos, [Stmt]) -> x) -> Maybe FilePath -> Either FilePath MName -> MMT m x (Either Doc (FileInfo, Module' x))
- getDef :: MonadMask m => FilePath -> SName -> Maybe Exp -> MMT m (Infos, [Stmt]) ((Infos, [Stmt]), Either Doc (FileInfo, Either Doc ExpType))
- compileMain :: [FilePath] -> Backend -> MName -> IO (Either Doc Pipeline)
- parseModule :: [FilePath] -> MName -> IO (Either Doc String)
- preCompile :: (MonadMask m, MonadIO m) => [FilePath] -> [FilePath] -> Backend -> FilePath -> IO (String -> m (Either Doc Pipeline, (Infos, String)))
- removeFromCache :: Monad m => FilePath -> MMT m x ()
- compilePipeline :: Backend -> ExpType -> Pipeline
- ppShow :: PShow a => a -> String
- plainShow :: PShow a => a -> String
- prettyShowUnlines :: Show a => a -> String
Documentation
mapMMT :: (ReaderT * (ModuleFetcher (MMT t2 t1)) (StateT (Modules t1) t2) t -> ReaderT * (ModuleFetcher (MMT m x)) (StateT (Modules x) m) a) -> MMT t2 t1 t -> MMT m x a Source #
loadModule :: MonadMask m => ((Infos, [Stmt]) -> x) -> Maybe FilePath -> Either FilePath MName -> MMT m x (Either Doc (FileInfo, Module' x)) Source #
getDef :: MonadMask m => FilePath -> SName -> Maybe Exp -> MMT m (Infos, [Stmt]) ((Infos, [Stmt]), Either Doc (FileInfo, Either Doc ExpType)) Source #
compileMain :: [FilePath] -> Backend -> MName -> IO (Either Doc Pipeline) Source #
most commonly used interface for end users
preCompile :: (MonadMask m, MonadIO m) => [FilePath] -> [FilePath] -> Backend -> FilePath -> IO (String -> m (Either Doc Pipeline, (Infos, String))) Source #
prettyShowUnlines :: Show a => a -> String Source #