DeepDarkFantasy-0.2017.8.19: A DSL for creating neural network.

Safe HaskellSafe
LanguageHaskell2010

DDF.Prod

Documentation

class Ordering r => Prod r where Source #

Minimal complete definition

mkProd, zro, fst

Methods

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

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

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

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

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

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

prodCmp :: forall h a b. r h (Cmp a -> Cmp b -> Cmp (a, b)) Source #

Instances

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 #

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

Prod Show Source # 

Methods

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

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

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

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

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

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

prodCmp :: Show h (Cmp a -> Cmp b -> Cmp (a, b)) Source #

Prod Size Source # 

Methods

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

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

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

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

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

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

prodCmp :: Size h (Cmp a -> Cmp b -> Cmp (a, b)) Source #

Prod r => Prod (P r) Source # 

Methods

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

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

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

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

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

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

prodCmp :: P r h (Cmp a -> Cmp b -> Cmp (a, b)) Source #

SubL c Prod => Prod (Term c) Source # 

Methods

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

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

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

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

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

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

prodCmp :: Term c h (Cmp a -> Cmp b -> Cmp (a, b)) Source #

Prod r => Prod (UnHOAS r) Source # 

Methods

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

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

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

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

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

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

prodCmp :: UnHOAS r h (Cmp a -> Cmp b -> Cmp (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 #

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

Prod r => Prod (ImpW r) Source # 

Methods

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

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

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

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

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

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

prodCmp :: ImpW r h (Cmp a -> Cmp b -> Cmp (a, b)) Source #

type SubLC c Prod Source # 
type SubLC c Prod = SubL c Ordering

zro1 :: Prod r => r h (b1, b) -> r h b1 Source #

fst1 :: Prod r => r h (a, b) -> r h b Source #

mkProd1 :: Prod r => r h a -> r h (b -> (a, b)) Source #

mkProd2 :: Prod r => r h a1 -> r h a -> r h (a1, a) Source #

curry1 :: Prod r => r h ((a, b) -> c) -> r h (a -> b -> c) Source #

uncurry1 :: Prod r => r h (a -> b -> c) -> r h ((a, b) -> c) Source #