Copyright  20132017 Kei Hibino 

License  BSD3 
Maintainer  ex8k.hibino@gmail.com 
Stability  experimental 
Portability  unknown 
Safe Haskell  None 
Language  Haskell2010 
This module defines monad transformer which lift from context into context with assigning.
 data Assignings r m a
 assignings :: Monad m => m a > Assignings r m a
 assignTo :: Monad m => Projection Flat v > AssignTarget r v > Assignings r m ()
 (<#) :: Monad m => AssignTarget r v > Projection Flat v > Assignings r m ()
 type AssignTarget r v = Pi r v
 extractAssignments :: (Monad m, Functor m) => Assignings r m a > m (a, Table r > [Assignment])
Transformer into context with assignments
data Assignings r m a Source #
Type to accumulate assigning context.
Type r
is table record type.
MonadQualify q m => MonadQualify q (Assignings r m) Source # 

MonadRestrict c m => MonadRestrict c (Assignings r m) Source # 

MonadTrans (Assignings r) Source #  
Monad m => Monad (Assignings r m) Source #  
Functor m => Functor (Assignings r m) Source #  
Applicative m => Applicative (Assignings r m) Source #  
assignings :: Monad m => m a > Assignings r m a Source #
Lift to Assignings
API of context with assignments
assignTo :: Monad m => Projection Flat v > AssignTarget r v > Assignings r m () Source #
Add an assignment.
(<#) :: Monad m => AssignTarget r v > Projection Flat v > Assignings r m () infix 4 Source #
Add and assginment.
type AssignTarget r v = Pi r v Source #
Target of assignment.
Result SQL set clause
extractAssignments :: (Monad m, Functor m) => Assignings r m a > m (a, Table r > [Assignment]) Source #
Run Assignings
to get Assignments