fmr-0.2: Fields for Monadic Records library
Copyright(c) Andrey Mulik 2021
LicenseBSD-style
Maintainerwork.a.mulik@gmail.com
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Field.Observe

Description

Data.Field.Observe simple field observer.

Synopsis

Exports

Observable field

data Observe field m record a Source #

Simple field observer, which can run some handlers after each action.

Constructors

Observe 

Fields

Instances

Instances details
FieldSwitch field => FieldSwitch (Observe field) Source # 
Instance details

Defined in Data.Field.Observe

Methods

switchRecord :: (Monad m, IsSwitch a) => Observe field m record a -> record -> Int -> m () Source #

(FieldModify field, FieldGet field) => FieldModify (Observe field) Source # 
Instance details

Defined in Data.Field.Observe

Methods

modifyRecord :: Monad m => Observe field m record a -> record -> (a -> a) -> m a Source #

modifyRecordM :: (Monad m, FieldGet (Observe field)) => Observe field m record a -> record -> (a -> m a) -> m a Source #

FieldSet field => FieldSet (Observe field) Source # 
Instance details

Defined in Data.Field.Observe

Methods

setRecord :: Monad m => Observe field m record a -> record -> a -> m () Source #

FieldGet field => FieldGet (Observe field) Source # 
Instance details

Defined in Data.Field.Observe

Methods

getRecord :: Monad m => Observe field m record a -> record -> m a Source #

observe :: Monad m => field m record a -> Observe field m record a Source #

Create field with default observers.