DeepDarkFantasy-0.2017.4.9: A DSL for creating neural network.

Safe HaskellSafe
LanguageHaskell2010

DDF.Eval

Documentation

newtype Eval h x Source #

Constructors

Eval 

Fields

Instances

DBI Eval Source # 

Methods

z :: Eval (a, h) a Source #

s :: Eval h b -> Eval (a, h) b Source #

abs :: Eval (a, h) b -> Eval h (a -> b) Source #

app :: Eval h (a -> b) -> Eval h a -> Eval h b Source #

hoas :: (Eval (a, h) a -> Eval (a, h) b) -> Eval h (a -> b) Source #

com :: Eval h ((b -> c) -> (a -> b) -> a -> c) Source #

flip :: Eval h ((a -> b -> c) -> b -> a -> c) Source #

id :: Eval h (a -> a) Source #

const :: Eval h (a -> b -> a) Source #

scomb :: Eval h ((a -> b -> c) -> (a -> b) -> a -> c) Source #

dup :: Eval h ((a -> a -> b) -> a -> b) Source #

let_ :: Eval h (a -> (a -> b) -> b) Source #

Double Eval Source # 
Float Eval Source # 
Option Eval Source # 

Methods

nothing :: Eval h (Maybe a) Source #

just :: Eval h (a -> Maybe a) Source #

optionMatch :: Eval h (b -> (a -> b) -> Maybe a -> b) Source #

Prod Eval Source # 

Methods

mkProd :: Eval h (a -> b -> (a, b)) Source #

zro :: Eval h ((a, b) -> a) Source #

fst :: Eval h ((a, b) -> b) Source #

swap :: Eval h ((x, y) -> (y, x)) Source #

curry :: Eval h (((a, b) -> c) -> a -> b -> c) Source #

uncurry :: Eval h ((a -> b -> c) -> (a, b) -> c) Source #

Dual Eval Source # 

Methods

dual :: Eval h ((x, y) -> Dual x y) Source #

runDual :: Eval h (Dual x y -> (x, y)) Source #

mkDual :: Eval h (x -> y -> Dual x y) Source #

dualOrig :: Eval h (Dual x y -> x) Source #

dualDiff :: Eval h (Dual x y -> y) Source #

Map Eval Source # 

Methods

empty :: Eval h (Map k a) Source #

singleton :: Eval h (k -> a -> Map k a) Source #

lookup :: Ord k => Eval h (k -> Map k a -> Maybe a) Source #

alter :: Ord k => Eval h ((Maybe a -> Maybe a) -> k -> Map k a -> Map k a) Source #

mapMap :: Eval h ((a -> b) -> Map k a -> Map k b) Source #

Char Eval Source # 

Methods

char :: Char -> Eval h Char Source #

Bool Eval Source # 

Methods

bool :: Bool -> Eval h Bool Source #

ite :: Eval h (a -> a -> Bool -> a) Source #

Bimap Eval Source # 
Lang Eval Source # 

Methods

fix :: Eval h ((a -> a) -> a) Source #

left :: Eval h (a -> Either a b) Source #

right :: Eval h (b -> Either a b) Source #

sumMatch :: Eval h ((a -> c) -> (b -> c) -> Either a b -> c) Source #

unit :: Eval h () Source #

exfalso :: Eval h (Void -> a) Source #

ioRet :: Eval h (a -> IO a) Source #

ioBind :: Eval h (IO a -> (a -> IO b) -> IO b) Source #

ioMap :: Eval h ((a -> b) -> IO a -> IO b) Source #

nil :: Eval h [a] Source #

cons :: Eval h (a -> [a] -> [a]) Source #

listMatch :: Eval h (b -> (a -> [a] -> b) -> [a] -> b) Source #

listAppend :: Eval h ([a] -> [a] -> [a]) Source #

writer :: Eval h ((a, w) -> Writer w a) Source #

runWriter :: Eval h (Writer w a -> (a, w)) Source #

float2Double :: Eval h (Float -> Double) Source #

double2Float :: Eval h (Double -> Float) Source #

undefined :: Eval h a Source #

state :: Eval h ((x -> (y, x)) -> State x y) Source #

runState :: Eval h (State x y -> x -> (y, x)) Source #

putStrLn :: Eval h (String -> IO ()) Source #

comb :: x -> Eval h x Source #