data-fresh-0.2013.250.1: Interface and functor transformers for fresh values

Safe HaskellNone

Control.Monad.Trans.Fresh.Delta

Synopsis

Documentation

data Triplet a Source

Constructors

Triplet a a a 

newtype FreshT v m a Source

Constructors

FreshT 

Fields

runFreshT :: Cofree Triplet v -> m (a, Cofree Triplet v)
 

Instances

Applicative m => Fresh v (FreshT v m) 
MonadTrans (FreshT v) 
Monad m => Monad (FreshT v m) 
Functor m => Functor (FreshT v m) 
Applicative m => Applicative (FreshT v m) 

seedDeltaSource

Arguments

:: v

Delta seed

-> (v -> v)

Successor

-> (v -> (v, v))

Splitter

-> Cofree Triplet v 

Creates a Cofree Triplet v, based on a seed, and functions to split and succeed it.

integerDelta :: Integer -> Cofree Triplet IntegerSource

A delta of integers.