each-1.1.1.0: Template Haskell library for writing monadic expressions more easily

Copyright(c) dramforever 2017
LicenseBSD3
Maintainerdramforever
Stabilityexperimental
Portabilitynon-portable (Template Haskell)
Safe HaskellSafe
LanguageHaskell2010

Each.Transform

Description

An internal module where most of the real transformation goes on.

Synopsis

Documentation

data Result a Source #

A writer monad where the empty case is distinguished.

Constructors

Impure (DList Stmt) a

Invariant: the bind list is not empty

Pure a 
Instances
Monad Result Source # 
Instance details

Defined in Each.Transform

Methods

(>>=) :: Result a -> (a -> Result b) -> Result b #

(>>) :: Result a -> Result b -> Result b #

return :: a -> Result a #

fail :: String -> Result a #

Functor Result Source # 
Instance details

Defined in Each.Transform

Methods

fmap :: (a -> b) -> Result a -> Result b #

(<$) :: a -> Result b -> Result a #

Applicative Result Source # 
Instance details

Defined in Each.Transform

Methods

pure :: a -> Result a #

(<*>) :: Result (a -> b) -> Result a -> Result b #

liftA2 :: (a -> b -> c) -> Result a -> Result b -> Result c #

(*>) :: Result a -> Result b -> Result b #

(<*) :: Result a -> Result b -> Result a #

each :: ExpQ -> ExpQ Source #

Invoke an each block