ruin-0.1.0.0: Pliable records

Safe HaskellSafe
LanguageHaskell2010

Data.Ruin.Eval

Synopsis

Documentation

data Eval a Source #

An evaluation box. It is crucially not a newtype nor strict in its contents.

This data type is a simplification of Eval.

Constructors

Done a 

Instances

Monad Eval Source # 

Methods

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

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

return :: a -> Eval a #

fail :: String -> Eval a #

Functor Eval Source # 

Methods

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

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

Applicative Eval Source # 

Methods

pure :: a -> Eval a #

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

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

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

runEval :: Eval a -> a Source #