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

Copyright(c) dramforever 2017
LicenseBSD3
Maintainerdramforever
Stabilityexperimental
Portabilitynon-portable (Template Haskell)
Safe HaskellNone
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 # 

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 # 

Methods

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

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

Applicative Result Source # 

Methods

pure :: a -> Result a #

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

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

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

each :: ExpQ -> ExpQ Source #

Invoke an each block