do-list-1.0.1: Do notation for free

Safe HaskellNone
LanguageHaskell2010

Data.DoList

Contents

Description

Construct lists with do notation. For more information see https://github.com/tserduke/do-list#readme.

Synopsis

Documentation

type DoList a = DoListM a () Source #

The type shortcut.

newtype DoListM a r Source #

DoListM is not a real instance of Monad, Applicative or Functor. It pretends being them with a phantom result type.

Constructors

DoList (DoMonoidM [a] r) 

Instances

Monad (DoListM a) Source # 

Methods

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

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

return :: a -> DoListM a a #

fail :: String -> DoListM a a #

Functor (DoListM a) Source # 

Methods

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

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

Applicative (DoListM a) Source # 

Methods

pure :: a -> DoListM a a #

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

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

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

IsList (DoListM a r) Source # 

Associated Types

type Item (DoListM a r) :: * #

Methods

fromList :: [Item (DoListM a r)] -> DoListM a r #

fromListN :: Int -> [Item (DoListM a r)] -> DoListM a r #

toList :: DoListM a r -> [Item (DoListM a r)] #

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

Methods

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

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

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

Methods

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

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

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

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

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

max :: DoListM a r -> DoListM a r -> DoListM a r #

min :: DoListM a r -> DoListM a r -> DoListM a r #

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

Methods

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

show :: DoListM a r -> String #

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

IsString a => IsString (DoListM a r) Source # 

Methods

fromString :: String -> DoListM a r #

type Item (DoListM a r) Source # 
type Item (DoListM a r) = a

Construction

item :: a -> DoListM a r Source #

Create a DoList holding a single item.

List conversion

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

Convert from a list.

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

Convert to a list.