lgtk-0.2: lens-based GUI with Gtk backend

Safe HaskellSafe-Inferred

Control.MLens.NewRef

Contents

Synopsis

Monads with reference creation

class Monad m => NewRef m whereSource

Laws for NewRef:

  • Any reference created by newRef should satisfy the reference laws given in Data.MLens.Ref.

Methods

newRef :: a -> m (Ref m a)Source

Instances

NewRef IO

Note that this instance does not fulfil the NewRef laws in a multi-threaded environment.

(NewRef m, Monoid w) => NewRef (WriterT w m) 
Monad m => NewRef (Ext i m) 

Memo operators

memoMLens :: (NewRef m, Eq a, Eq b) => MLens m a b -> m (MLens m a b)Source

Memoise pure lenses

Auxiliary functions

memoRead :: NewRef m => m a -> m (m a)Source

memoWrite :: (NewRef m, Eq b) => (b -> m a) -> m (b -> m a)Source