DeepDarkFantasy-0.2017.8.9: A DSL for creating neural network.

Safe HaskellSafe
LanguageHaskell2010

DDF.Diff

Contents

Documentation

Orphan instances

Ord Double Source # 

Methods

diffOrd :: Proxy * (v, Double) -> Dict (Ord (DiffType v Double)) Source #

Ord Float Source # 

Methods

diffOrd :: Proxy * (v, Float) -> Dict (Ord (DiffType v Float)) Source #

Ord () Source # 

Methods

diffOrd :: Proxy * (v, ()) -> Dict (Ord (DiffType v ())) Source #

Ord a => Ord [a] Source # 

Methods

diffOrd :: Proxy * (v, [a]) -> Dict (Ord (DiffType v [a])) Source #

DBI r => DBI (Diff r v) Source # 

Methods

z :: Diff r v (a, h) a Source #

s :: Diff r v h b -> Diff r v (a, h) b Source #

abs :: Diff r v (a, h) b -> Diff r v h (a -> b) Source #

app :: Diff r v h (a -> b) -> Diff r v h a -> Diff r v h b Source #

hoas :: (Diff r v (a, h) a -> Diff r v (a, h) b) -> Diff r v h (a -> b) Source #

com :: Diff r v h ((b -> c) -> (a -> b) -> a -> c) Source #

flip :: Diff r v h ((a -> b -> c) -> b -> a -> c) Source #

id :: Diff r v h (a -> a) Source #

const :: Diff r v h (a -> b -> a) Source #

scomb :: Diff r v h ((a -> b -> c) -> (a -> b) -> a -> c) Source #

dup :: Diff r v h ((a -> a -> b) -> a -> b) Source #

let_ :: Diff r v h (a -> (a -> b) -> b) Source #

DiffWrapper r => Fix (Diff r v) Source # 

Methods

fix :: Diff r v h (f (Fix f) -> Fix f) Source #

runFix :: Diff r v h (Fix f -> f (Fix f)) Source #

(Vector r v, Lang r) => Float (Diff r v) Source # 
FreeVector r => FreeVector (Diff r v) Source # 

Methods

freeVector :: Diff r v h ((b -> d) -> FreeVector b d) Source #

runFreeVector :: Diff r v h (FreeVector b d -> b -> d) Source #

Option r => Option (Diff r v) Source # 

Methods

nothing :: Diff r v h (Maybe a) Source #

just :: Diff r v h (a -> Maybe a) Source #

optionMatch :: Diff r v h (b -> (a -> b) -> Maybe a -> b) Source #

Prod r => Prod (Diff r v) Source # 

Methods

mkProd :: Diff r v h (a -> b -> (a, b)) Source #

zro :: Diff r v h ((a, b) -> a) Source #

fst :: Diff r v h ((a, b) -> b) Source #

swap :: Diff r v h ((x, y) -> (y, x)) Source #

curry :: Diff r v h (((a, b) -> c) -> a -> b -> c) Source #

uncurry :: Diff r v h ((a -> b -> c) -> (a, b) -> c) Source #

Dual r => Dual (Diff r v) Source # 

Methods

dual :: Diff r v h ((x, y) -> Dual x y) Source #

runDual :: Diff r v h (Dual x y -> (x, y)) Source #

mkDual :: Diff r v h (x -> y -> Dual x y) Source #

dualOrig :: Diff r v h (Dual x y -> x) Source #

dualDiff :: Diff r v h (Dual x y -> y) Source #

Sum r => Sum (Diff r v) Source # 

Methods

left :: Diff r v h (a -> Either a b) Source #

right :: Diff r v h (b -> Either a b) Source #

sumMatch :: Diff r v h ((a -> c) -> (b -> c) -> Either a b -> c) Source #

Unit r => Unit (Diff r v) Source # 

Methods

unit :: Diff r v h () Source #

Y r => Y (Diff r v) Source # 

Methods

y :: Diff r v h ((a -> a) -> a) Source #

undefined :: Diff r v h a Source #

List r => List (Diff r v) Source # 

Methods

nil :: Diff r v h [a] Source #

cons :: Diff r v h (a -> [a] -> [a]) Source #

listMatch :: Diff r v h (b -> (a -> [a] -> b) -> [a] -> b) Source #

listAppend :: Diff r v h ([a] -> [a] -> [a]) Source #

Char r => Char (Diff r v) Source # 

Methods

char :: Char -> Diff r v h Char Source #

IO r => IO (Diff r v) Source # 

Methods

putStrLn :: Diff r v h (String -> IO ()) Source #

Bool r => Bool (Diff r v) Source # 

Methods

bool :: Bool -> Diff r v h Bool Source #

ite :: Diff r v h (a -> a -> Bool -> a) Source #

(Vector r v, Lang r) => Double (Diff r v) Source # 
Map r => Map (Diff r v) Source # 

Methods

empty :: Diff r v h (Map k a) Source #

singleton :: Diff r v h (k -> a -> Map k a) Source #

lookup :: Ord k => Diff r v h (Map k a -> k -> Maybe a) Source #

alter :: Ord k => Diff r v h ((Maybe a -> Maybe a) -> k -> Map k a -> Map k a) Source #

mapMap :: Diff r v h ((a -> b) -> Map k a -> Map k b) Source #

unionWith :: Ord k => Diff r v h ((a -> a -> a) -> Map k a -> Map k a -> Map k a) Source #

insert :: Ord k => Diff r v h (k -> a -> Map k a -> Map k a) Source #

Ord l => Ord (Dual l r) Source # 

Methods

diffOrd :: Proxy * (v, Dual l r) -> Dict (Ord (DiffType v (Dual l r))) Source #

DiffWrapper r => DiffWrapper (Diff r v) Source # 

Methods

diffWrapper :: Diff r v h (FDiffType a x -> DiffWrapper a x) Source #

runDiffWrapper :: Diff r v h (DiffWrapper a x -> FDiffType a x) Source #

(Vector r v, Lang r) => VectorTF (Diff r v) Source # 

Methods

zero :: Diff r v h (VectorTF t f) Source #

basis :: Diff r v h (t -> VectorTF t f) Source #

plus :: Diff r v h (f -> f -> VectorTF t f) Source #

mult :: Diff r v h (Double -> f -> VectorTF t f) Source #

vtfMatch :: Diff r v h (a -> (t -> a) -> (f -> f -> a) -> (Double -> f -> a) -> VectorTF t f -> a) Source #

Int r => Int (Diff r v) Source # 

Methods

int :: Int -> Diff r v h Int Source #

pred :: Diff r v h (Int -> Int) Source #

isZero :: Diff r v h (Int -> Bool) Source #

Bimap r => Bimap (Diff r v) Source # 

Methods

size :: Diff r v h (Bimap a b -> Int) Source #

lookupL :: (Ord a, Ord b) => Diff r v h (Bimap a b -> a -> Maybe b) Source #

lookupR :: (Ord a, Ord b) => Diff r v h (Bimap a b -> b -> Maybe a) Source #

empty :: Diff r v h (Bimap a b) Source #

singleton :: Diff r v h ((a, b) -> Bimap a b) Source #

toMapL :: Diff r v h (Bimap a b -> Map a b) Source #

toMapR :: Diff r v h (Bimap a b -> Map b a) Source #

insert :: (Ord a, Ord b) => Diff r v h ((a, b) -> Bimap a b -> Bimap a b) Source #

updateL :: (Ord a, Ord b) => Diff r v h ((b -> Maybe b) -> a -> Bimap a b -> Bimap a b) Source #

updateR :: (Ord a, Ord b) => Diff r v h ((a -> Maybe a) -> b -> Bimap a b -> Bimap a b) Source #

(Vector r v, Lang r) => Lang (Diff r v) Source # 

Methods

exfalso :: Diff r v h (Void -> a) Source #

writer :: Diff r v h ((a, w) -> Writer w a) Source #

runWriter :: Diff r v h (Writer w a -> (a, w)) Source #

float2Double :: Diff r v h (Float -> Double) Source #

double2Float :: Diff r v h (Double -> Float) Source #

state :: Diff r v h ((x -> (y, x)) -> State x y) Source #

runState :: Diff r v h (State x y -> x -> (y, x)) Source #

iterate :: Diff r v h ((x -> x) -> x -> [x]) Source #

buildFreeVector :: Ord b => Diff r v h (FreeVectorBuilder b -> FreeVector b Double) Source #

toSVTFBuilder :: Ord b => Diff r v h (VectorTF b Int -> SVTFBuilder b) Source #

get :: Diff r v h (Maybe a -> a) Source #

getVar :: Diff r v h (State x x) Source #

update :: Diff r v h ((x -> x) -> State x ()) Source #

updateWengert :: Diff r v h (Int -> Double -> Map Int Double -> Map Int Double) Source #

vtfCata :: Diff r v h ((VectorTF a b -> b) -> Fix (VectorTF a) -> b) Source #

Monad r IO => Monad (Diff r v) IO Source # 

Methods

bind :: Diff r v h (IO a -> (a -> IO b) -> IO b) Source #

join :: Diff r v h (IO (IO a) -> IO a) Source #

Applicative r IO => Applicative (Diff r v) IO Source # 

Methods

pure :: Diff r v h (x -> IO x) Source #

ap :: Diff r v h (IO (x -> y) -> IO x -> IO y) Source #

Functor r IO => Functor (Diff r v) IO Source # 

Methods

map :: Diff r v h ((a -> b) -> IO a -> IO b) Source #