Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
DDF.Diff
Contents
Documentation
Orphan instances
MetaOrd Double Source # | |
MetaOrd Float Source # | |
MetaOrd () Source # | |
MetaOrd a => MetaOrd [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 # | |
DiffWrapper r => Fix (Diff r v) Source # | |
(Vector r v, Lang r) => Float (Diff r v) Source # | |
Methods float :: Float -> Diff r v h Float Source # floatZero :: Diff r v h Float Source # floatOne :: Diff r v h Float Source # floatPlus :: Diff r v h (Float -> Float -> Float) Source # floatMinus :: Diff r v h (Float -> Float -> Float) Source # floatMult :: Diff r v h (Float -> Float -> Float) Source # floatDivide :: Diff r v h (Float -> Float -> Float) 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 # | |
Sum r => Sum (Diff r v) Source # | |
Unit r => Unit (Diff r v) Source # | |
Y r => Y (Diff r v) Source # | |
List r => List (Diff r v) Source # | |
Char r => Char (Diff r v) Source # | |
IO r => IO (Diff r v) Source # | |
Bool r => Bool (Diff r v) Source # | |
Ordering r => Ordering (Diff r v) Source # | |
Methods sel :: Diff r v h (a -> a -> a -> Ordering -> a) Source # ordering :: Ordering -> Diff r v h Ordering Source # ltOrd :: Diff r v h Ordering Source # eqOrd :: Diff r v h Ordering Source # gtOrd :: Diff r v h Ordering Source # isLT :: Diff r v h (Ordering -> Bool) Source # isEQ :: Diff r v h (Ordering -> Bool) Source # isGT :: Diff r v h (Ordering -> Bool) Source # chainOrd :: Diff r v h (Ordering -> Ordering -> Ordering) Source # | |
(Vector r v, Lang r) => Double (Diff r v) Source # | |
Methods double :: Double -> Diff r v h Double Source # doubleZero :: Diff r v h Double Source # doubleOne :: Diff r v h Double Source # doublePlus :: Diff r v h (Double -> Double -> Double) Source # doubleMinus :: Diff r v h (Double -> Double -> Double) Source # doubleMult :: Diff r v h (Double -> Double -> Double) Source # doubleDivide :: Diff r v h (Double -> Double -> Double) Source # doubleExp :: Diff r v h (Double -> Double) Source # doubleCmp :: Diff r v h (Double -> Double -> Ordering) Source # | |
MetaOrd l => MetaOrd (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 # | |
Int r => Int (Diff r v) 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 # prodCmp :: Diff r v h (Cmp a -> Cmp b -> Cmp (a, b)) Source # | |
Dual r => Dual (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 :: MetaOrd k => Diff r v h (Map k a -> k -> Maybe a) Source # alter :: MetaOrd 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 :: MetaOrd k => Diff r v h ((a -> a -> a) -> Map k a -> Map k a -> Map k a) Source # insert :: MetaOrd k => Diff r v h (k -> a -> Map k a -> Map k a) 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 # vtfCmp :: Diff r v h (Cmp t -> Cmp f -> Cmp (VectorTF t f)) Source # | |
Bimap r => Bimap (Diff r v) Source # | |
Methods size :: Diff r v h (Bimap a b -> Int) Source # lookupL :: (MetaOrd a, MetaOrd b) => Diff r v h (Bimap a b -> a -> Maybe b) Source # lookupR :: (MetaOrd a, MetaOrd 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 :: (MetaOrd a, MetaOrd b) => Diff r v h ((a, b) -> Bimap a b -> Bimap a b) Source # updateL :: (MetaOrd a, MetaOrd b) => Diff r v h ((b -> Maybe b) -> a -> Bimap a b -> Bimap a b) Source # updateR :: (MetaOrd a, MetaOrd 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 :: MetaOrd b => Diff r v h (FreeVectorBuilder b -> FreeVector b Double) Source # toSVTFBuilder :: MetaOrd 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 # |