lambda-uc-0.1.0.0
Safe HaskellSafe
LanguageGHC2021

Control.XMonad.XAccum

Synopsis

Documentation

data XAccum i j a #

Indexed Accumulator monad.

This is an indexed version of mtl's MonadAccum. Accumulator can be seen as a Writer with the extra capability of reading the result of previus tells. Or as State where modifications are limited to appends.

We fix the internal indexed monoid here to -> for simplicity, as this is the only one we need.

Constructors

XAccum 

Fields

Instances

Instances details
XApplicative XAccum # 
Instance details

Defined in Control.XMonad.XAccum

Methods

xpure :: forall a (p :: k). a -> XAccum p p a #

(<*>:) :: forall (p :: k) (q :: k) a b (r :: k). XAccum p q (a -> b) -> XAccum q r a -> XAccum p r b #

xliftA2 :: forall a b c (p :: k) (q :: k) (r :: k). (a -> b -> c) -> XAccum p q a -> XAccum q r b -> XAccum p r c #

(*>:) :: forall (p :: k) (q :: k) a (r :: k) b. XAccum p q a -> XAccum q r b -> XAccum p r b #

(<*:) :: forall (p :: k) (q :: k) a (r :: k) b. XAccum p q a -> XAccum q r b -> XAccum p r a #

XMonad XAccum # 
Instance details

Defined in Control.XMonad.XAccum

Methods

(>>=:) :: forall a b (p :: k) (q :: k) (r :: k). XAccum p q a -> (a -> XAccum q r b) -> XAccum p r b #

(>>:) :: forall a b (p :: k) (q :: k) (r :: k). XAccum p q a -> XAccum q r b -> XAccum p r b #

xreturn :: forall a (p :: k). a -> XAccum p p a #

Functor (XAccum i j) # 
Instance details

Defined in Control.XMonad.XAccum

Methods

fmap :: (a -> b) -> XAccum i j a -> XAccum i j b #

(<$) :: a -> XAccum i j b -> XAccum i j a #

add :: (i -> j) -> XAccum i j () #

look :: XAccum i i i #