b9-0.5.50: 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 Source #

Instances
Monad B9 Source # 
Instance details

Defined in B9.B9Monad

Methods

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

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

return :: a -> B9 a #

fail :: String -> B9 a #

Functor B9 Source # 
Instance details

Defined in B9.B9Monad

Methods

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

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

Applicative B9 Source # 
Instance details

Defined in B9.B9Monad

Methods

pure :: a -> B9 a #

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

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

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

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

MonadIO B9 Source # 
Instance details

Defined in B9.B9Monad

Methods

liftIO :: IO a -> B9 a #

run :: MonadIO m => B9 a -> B9ConfigAction m a Source #

dbgL :: String -> B9 () Source #

cmd :: String -> B9 () Source #