DeepDarkFantasy-0.2017.8.4: A DSL for creating neural network.

Safe HaskellSafe
LanguageHaskell2010

DDF.UnLiftEnv

Documentation

newtype UnLiftEnv r h x Source #

Constructors

UnLiftEnv 

Fields

Instances

Prod r => DBI (UnLiftEnv r) Source # 

Methods

z :: UnLiftEnv r (a, h) a Source #

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

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

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

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

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

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

id :: UnLiftEnv r h (a -> a) Source #

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

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

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

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

(Prod r, Fix r) => Fix (UnLiftEnv r) Source # 

Methods

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

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

(Prod r, Float r) => Float (UnLiftEnv r) Source # 
(Prod r, FreeVector r) => FreeVector (UnLiftEnv r) Source # 

Methods

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

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

(Prod r, Option r) => Option (UnLiftEnv r) Source # 

Methods

nothing :: UnLiftEnv r h (Maybe a) Source #

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

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

Prod r => Prod (UnLiftEnv r) Source # 

Methods

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

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

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

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

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

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

Dual r => Dual (UnLiftEnv r) Source # 

Methods

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

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

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

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

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

(Prod r, Sum r) => Sum (UnLiftEnv r) Source # 

Methods

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

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

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

(Prod r, Unit r) => Unit (UnLiftEnv r) Source # 

Methods

unit :: UnLiftEnv r h () Source #

(Prod r, Y r) => Y (UnLiftEnv r) Source # 

Methods

y :: UnLiftEnv r h ((a -> a) -> a) Source #

undefined :: UnLiftEnv r h a Source #

(Unit r, Prod r, List r) => List (UnLiftEnv r) Source # 

Methods

nil :: UnLiftEnv r h [a] Source #

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

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

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

(Prod r, Char r) => Char (UnLiftEnv r) Source # 

Methods

char :: Char -> UnLiftEnv r h Char Source #

(Prod r, IO r) => IO (UnLiftEnv r) Source # 

Methods

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

(Prod r, Bool r) => Bool (UnLiftEnv r) Source # 

Methods

bool :: Bool -> UnLiftEnv r h Bool Source #

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

(Prod r, Double r) => Double (UnLiftEnv r) Source # 
Map r => Map (UnLiftEnv r) Source # 

Methods

empty :: UnLiftEnv r h (Map k a) Source #

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

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

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

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

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

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

(Prod r, DiffWrapper r) => DiffWrapper (UnLiftEnv r) Source # 
(Prod r, VectorTF r) => VectorTF (UnLiftEnv r) Source # 

Methods

zero :: UnLiftEnv r h (VectorTF t f) Source #

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

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

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

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

(Prod r, Int r) => Int (UnLiftEnv r) Source # 

Methods

int :: Int -> UnLiftEnv r h Int Source #

pred :: UnLiftEnv r h (Int -> Int) Source #

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

Bimap r => Bimap (UnLiftEnv r) Source # 

Methods

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

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

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

empty :: UnLiftEnv r h (Bimap a b) Source #

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

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

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

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

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

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

Lang r => Lang (UnLiftEnv r) Source # 

Methods

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

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

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

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

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

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

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

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

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

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

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

getVar :: UnLiftEnv r h (State x x) Source #

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

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

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

(Prod r, Monad r m) => Monad (UnLiftEnv r) m Source # 

Methods

bind :: UnLiftEnv r h (m a -> (a -> m b) -> m b) Source #

join :: UnLiftEnv r h (m (m a) -> m a) Source #

(Prod r, Applicative r m) => Applicative (UnLiftEnv r) m Source # 

Methods

pure :: UnLiftEnv r h (x -> m x) Source #

ap :: UnLiftEnv r h (m (x -> y) -> m x -> m y) Source #

(Prod r, Functor r m) => Functor (UnLiftEnv r) m Source # 

Methods

map :: UnLiftEnv r h ((a -> b) -> m a -> m b) Source #

unLiftEnv :: DBI r => r () x -> UnLiftEnv r h x Source #