calligraphy-0.1.3: HIE-based Haskell call graph and source code visualizer
Safe HaskellNone
LanguageHaskell2010

Calligraphy.Util.Printer

Documentation

newtype Printer a Source #

Constructors

Printer 

Fields

Instances

Instances details
Monad Printer Source # 
Instance details

Defined in Calligraphy.Util.Printer

Methods

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

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

return :: a -> Printer a #

Functor Printer Source # 
Instance details

Defined in Calligraphy.Util.Printer

Methods

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

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

Applicative Printer Source # 
Instance details

Defined in Calligraphy.Util.Printer

Methods

pure :: a -> Printer a #

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

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

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

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

MonadPrint Printer Source # 
Instance details

Defined in Calligraphy.Util.Printer

Semigroup a => Semigroup (Printer a) Source # 
Instance details

Defined in Calligraphy.Util.Printer

Methods

(<>) :: Printer a -> Printer a -> Printer a #

sconcat :: NonEmpty (Printer a) -> Printer a #

stimes :: Integral b => b -> Printer a -> Printer a #

Monoid a => Monoid (Printer a) Source # 
Instance details

Defined in Calligraphy.Util.Printer

Methods

mempty :: Printer a #

mappend :: Printer a -> Printer a -> Printer a #

mconcat :: [Printer a] -> Printer a #

type Prints a = a -> Printer () Source #

class Monad m => MonadPrint m where Source #

Methods

line :: Builder -> m () Source #

indent :: m a -> m a Source #

Instances

Instances details
MonadPrint Printer Source # 
Instance details

Defined in Calligraphy.Util.Printer

MonadPrint m => MonadPrint (StateT s m) Source # 
Instance details

Defined in Calligraphy.Util.Printer

Methods

line :: Builder -> StateT s m () Source #

indent :: StateT s m a -> StateT s m a Source #

brack :: MonadPrint m => String -> String -> m a -> m a Source #

strLn :: MonadPrint m => String -> m () Source #

textLn :: MonadPrint m => Text -> m () Source #

showLn :: (MonadPrint m, Show a) => a -> m () Source #