lgtk-0.2: lens-based GUI with Gtk backend

Safe HaskellNone

Control.MLens.ExtRef.Pure

Description

Pure reference implementation for the ExtRef interface.

The implementation uses unsafeCoerce internally, but its effect cannot escape.

Synopsis

Documentation

data Ext i m a Source

Instances

MonadWriter w m => MonadWriter w (Ext i m) 
MonadTrans (Ext i) 
Monad m => Monad (Ext i m) 
Functor m => Functor (Ext i m) 
Monad m => NewRef (Ext i m) 
Monad m => ExtRef (Ext i m) 

runExt :: Monad m => (forall i. Ext i m a) -> m aSource

Basic running of the (Ext i m) monad.

runExt_ :: forall c m. (Functor m, NewRef m) => (forall n. (Monad n, Functor n) => Morph m n -> Morph n m -> c n -> c m) -> (forall i. c (Ext i m)) -> m (c m)Source

Advanced running of the (Ext i m) monad.

Functor in contexts would not be needed if it were a superclass of Monad.