Vive la programmation différentielle!
-- Yan LeCun
DSL for forward and reverse mode automatic differentiation via a version of operator overloading.
Port of DiffSharp to Haskell; currently a work in progress.
Example usage:
let g a b = (a + b / a) / (D 2.0 :: D Float)
compute $ diff' (fixPoint g (D 1.2)) (D 25.0 :: D Float)
-- (D 1.0, D 5.0), (D 1.0, D 0.1)