effect-monad-0.7.0.0: Embeds effect systems into Haskell using graded monads

Safe HaskellNone
LanguageHaskell98

Control.Effect.ReadOnceReader

Synopsis

Documentation

ask :: Reader '[a] a Source #

ask for a value of type a

data Reader r a Source #

Provides a weak reader monad, which can only read an item once. Provides an effect system as a list of the items that have been read

Constructors

R 

Fields

Instances

Cond [*] Reader Source # 

Associated Types

type AltInv Reader (m :: Reader -> * -> *) (s :: Reader) (t :: Reader) :: Constraint Source #

type Alt Reader (m :: Reader -> * -> *) (s :: Reader) (t :: Reader) :: k Source #

Methods

ifM :: AltInv Reader m s t => Bool -> m s a -> m t a -> m (Alt Reader m s t) a Source #

Effect [*] Reader Source # 

Associated Types

type Unit Reader (m :: Reader -> * -> *) :: k Source #

type Plus Reader (m :: Reader -> * -> *) (f :: Reader) (g :: Reader) :: k Source #

type Inv Reader (m :: Reader -> * -> *) (f :: Reader) (g :: Reader) :: Constraint Source #

Methods

return :: a -> m (Unit Reader m) a Source #

(>>=) :: Inv Reader m f g => m f a -> (a -> m g b) -> m (Plus Reader m f g) b Source #

(>>) :: Inv Reader m f g => m f a -> m g b -> m (Plus Reader m f g) b Source #

type Unit [*] Reader Source # 
type Unit [*] Reader = [] *
type AltInv [*] Reader s t Source # 
type AltInv [*] Reader s t = Split s t
type Alt [*] Reader s t Source # 
type Alt [*] Reader s t = (:++) s t
type Plus [*] Reader s t Source # 
type Plus [*] Reader s t = (:++) s t
type Inv [*] Reader s t Source # 
type Inv [*] Reader s t = Split s t

data List l where Source #

Constructors

Nil :: List '[] 
Cons :: x -> List xs -> List (x ': xs)