| Copyright | 2013-2019 Kei Hibino | 
|---|---|
| License | BSD3 | 
| Maintainer | ex8k.hibino@gmail.com | 
| Stability | experimental | 
| Portability | unknown | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Database.Relational.Monad.Trans.Assigning
Contents
Description
This module defines monad transformer which lift from context into context with assigning.
Synopsis
- data Assignings r m a
- assignings :: Monad m => m a -> Assignings r m a
- assignTo :: Monad m => Record Flat v -> AssignTarget r v -> Assignings r m ()
- (<-#) :: Monad m => AssignTarget r v -> Record 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.
Instances
assignings :: Monad m => m a -> Assignings r m a Source #
Lift to Assignings
API of context with assignments
assignTo :: Monad m => Record Flat v -> AssignTarget r v -> Assignings r m () Source #
Add an assignment.
(<-#) :: Monad m => AssignTarget r v -> Record 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 [Assignment]