calligraphy-0.1.6: HIE-based Haskell call graph and source code visualizer
Safe HaskellSafe-Inferred
LanguageHaskell2010

Calligraphy.Util.Printer

Synopsis

Documentation

data Printer a Source #

An monadic interface to a fairly primitive line printer. It maintains an indentation level, and provides efficient concatenation through Builder, and that's it.

Instances

Instances details
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 #

Functor Printer Source # 
Instance details

Defined in Calligraphy.Util.Printer

Methods

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

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

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 #

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 #

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 #

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

showLn :: Show a => a -> Printer () Source #