b9-0.5.32: A tool and library for building virtual machine images.

Safe HaskellNone
LanguageHaskell2010

B9.B9Monad

Description

Definition of the B9 monad. It encapsulates logging, very basic command execution profiling, a reader for the B9.B9Config and access to the current build id, the current build directory and the artifact to build.

This module is used by the _effectful_ functions in this library.

Documentation

data B9 a #

Instances

Monad B9 # 

Methods

(>>=) :: B9 a -> (a -> B9 b) -> B9 b #

(>>) :: B9 a -> B9 b -> B9 b #

return :: a -> B9 a #

fail :: String -> B9 a #

Functor B9 # 

Methods

fmap :: (a -> b) -> B9 a -> B9 b #

(<$) :: a -> B9 b -> B9 a #

Applicative B9 # 

Methods

pure :: a -> B9 a #

(<*>) :: B9 (a -> b) -> B9 a -> B9 b #

(*>) :: B9 a -> B9 b -> B9 b #

(<*) :: B9 a -> B9 b -> B9 a #

MonadIO B9 # 

Methods

liftIO :: IO a -> B9 a #

run :: ConfigParser -> B9Config -> B9 a -> IO a #

traceL :: String -> B9 () #

dbgL :: String -> B9 () #

infoL :: String -> B9 () #

errorL :: String -> B9 () #

cmd :: String -> B9 () #