do-list-0.8.1: List construction with do notation

Safe HaskellNone
LanguageHaskell2010

Data.DoList

Contents

Description

Construct lists using do notation syntatic sugar. Example usage https://github.com/tserduke/do-list#example.

For a multifunctional alternative use Control.Monad.Writer from the mtl package.

Synopsis

Documentation

newtype DoList a r Source #

DoList is not a real instance of Monad, Applicative or Functor. It pretends being them to enable do notation. Its result type is purely phantom.

Constructors

DoList (DList a) 

Instances

Monad (DoList a) Source #

Monadic operations are not supported.

Methods

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

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

return :: a -> DoList a a #

fail :: String -> DoList a a #

Functor (DoList a) Source #

Functor operations are not supported.

Methods

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

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

Applicative (DoList a) Source #

Applicative operations are not supported.

Methods

pure :: a -> DoList a a #

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

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

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

Eq a => Eq (DoList a r) Source # 

Methods

(==) :: DoList a r -> DoList a r -> Bool #

(/=) :: DoList a r -> DoList a r -> Bool #

Ord a => Ord (DoList a r) Source # 

Methods

compare :: DoList a r -> DoList a r -> Ordering #

(<) :: DoList a r -> DoList a r -> Bool #

(<=) :: DoList a r -> DoList a r -> Bool #

(>) :: DoList a r -> DoList a r -> Bool #

(>=) :: DoList a r -> DoList a r -> Bool #

max :: DoList a r -> DoList a r -> DoList a r #

min :: DoList a r -> DoList a r -> DoList a r #

Read a => Read (DoList a r) Source # 
Show a => Show (DoList a r) Source # 

Methods

showsPrec :: Int -> DoList a r -> ShowS #

show :: DoList a r -> String #

showList :: [DoList a r] -> ShowS #

Construction

item :: a -> DoList a () Source #

Create a DoList holding a single item.

unDoList :: DoList a r -> DList a Source #

Extract the underlying DList.

List conversion

fromList :: [a] -> DoList a r Source #

Convert from a list.

toList :: DoList a r -> [a] Source #

Convert to a list.