chatty-utils-0.7.3.4: Some utilities every serious chatty-based application may need.

Safe HaskellSafe
LanguageHaskell2010

Data.Chatty.ListBuilder

Documentation

class Monad l => ListBuilder l i | l -> i where Source #

Minimal complete definition

li, buildList

Methods

li :: i -> l () Source #

buildList :: l () -> [i] Source #

Instances

ListBuilder (LazyBuilder i) i Source # 

Methods

li :: i -> LazyBuilder i () Source #

buildList :: LazyBuilder i () -> [i] Source #

ListBuilder (StrictBuilder i) i Source # 

Methods

li :: i -> StrictBuilder i () Source #

buildList :: StrictBuilder i () -> [i] Source #

newtype StrictBuilderT i m a Source #

Constructors

StrictBuilder 

Fields

Instances

MonadTrans (StrictBuilderT i) Source # 

Methods

lift :: Monad m => m a -> StrictBuilderT i m a #

ListBuilder (StrictBuilder i) i Source # 

Methods

li :: i -> StrictBuilder i () Source #

buildList :: StrictBuilder i () -> [i] Source #

Monad m => Monad (StrictBuilderT i m) Source # 

Methods

(>>=) :: StrictBuilderT i m a -> (a -> StrictBuilderT i m b) -> StrictBuilderT i m b #

(>>) :: StrictBuilderT i m a -> StrictBuilderT i m b -> StrictBuilderT i m b #

return :: a -> StrictBuilderT i m a #

fail :: String -> StrictBuilderT i m a #

Functor m => Functor (StrictBuilderT i m) Source # 

Methods

fmap :: (a -> b) -> StrictBuilderT i m a -> StrictBuilderT i m b #

(<$) :: a -> StrictBuilderT i m b -> StrictBuilderT i m a #

(Functor m, Monad m) => Applicative (StrictBuilderT i m) Source # 

Methods

pure :: a -> StrictBuilderT i m a #

(<*>) :: StrictBuilderT i m (a -> b) -> StrictBuilderT i m a -> StrictBuilderT i m b #

(*>) :: StrictBuilderT i m a -> StrictBuilderT i m b -> StrictBuilderT i m b #

(<*) :: StrictBuilderT i m a -> StrictBuilderT i m b -> StrictBuilderT i m a #

newtype LazyBuilderT i m a Source #

Constructors

LazyBuilder 

Fields

Instances

MonadTrans (LazyBuilderT i) Source # 

Methods

lift :: Monad m => m a -> LazyBuilderT i m a #

ListBuilder (LazyBuilder i) i Source # 

Methods

li :: i -> LazyBuilder i () Source #

buildList :: LazyBuilder i () -> [i] Source #

Monad m => Monad (LazyBuilderT i m) Source # 

Methods

(>>=) :: LazyBuilderT i m a -> (a -> LazyBuilderT i m b) -> LazyBuilderT i m b #

(>>) :: LazyBuilderT i m a -> LazyBuilderT i m b -> LazyBuilderT i m b #

return :: a -> LazyBuilderT i m a #

fail :: String -> LazyBuilderT i m a #

Functor m => Functor (LazyBuilderT i m) Source # 

Methods

fmap :: (a -> b) -> LazyBuilderT i m a -> LazyBuilderT i m b #

(<$) :: a -> LazyBuilderT i m b -> LazyBuilderT i m a #

(Functor m, Monad m) => Applicative (LazyBuilderT i m) Source # 

Methods

pure :: a -> LazyBuilderT i m a #

(<*>) :: LazyBuilderT i m (a -> b) -> LazyBuilderT i m a -> LazyBuilderT i m b #

(*>) :: LazyBuilderT i m a -> LazyBuilderT i m b -> LazyBuilderT i m b #

(<*) :: LazyBuilderT i m a -> LazyBuilderT i m b -> LazyBuilderT i m a #

lis :: ListBuilder l i => [i] -> l () Source #

lit :: ListBuilder l (a, b) => a -> b -> l () Source #

(>-<) :: ListBuilder l (a, b) => a -> b -> l () Source #