Changelog of @hackage/backprop 0.1.3.0

Changelog

Version 0.1.3.0

Feb 12, 2018

https://github.com/mstksg/backprop/releases/tag/v0.1.3.0

  • Preulude.Backprop module added with lifted versions of several Prelude and base functions.
  • liftOpX family of operators now have a more logical ordering for type variables. This change breaks backwards-compatibility.
  • opIsoN added to export list of Numeric.Backprop
  • noGrad and noGrad1 added to Numeric.Backprop.Op, for functions with no defined gradient.

Internal

  • Completely decoupled the internal implementation from Num, which showed some performance benefits.

Version 0.1.2.0

Feb 7, 2018

https://github.com/mstksg/backprop/releases/tag/v0.1.2.0

  • Added currying and uncurrying functions for tuples in Numeric.Backprop.Tuple.
  • opIsoN, for isomorphisms between a tuple of values and a value.
  • (Internal) AD engine now using Any from ghc-prim instead of Some I from type-combinators

Version 0.1.1.0

Feb 6, 2018

https://github.com/mstksg/backprop/releases/tag/v0.1.1.0

  • Added canonical strict tuple types with Num instances, in the module Numeric.Backprop.Tuple. This is meant to be a band-aid for the problem of orphan instances and potential mismatched tuple types.
  • Fixed bug in collectVar that occurs if container sizes change

Internal

  • Internal tweaks to the underlying automatic differentiation types that decouple backpropagation from Num, internally. Num is now just used externally as a part of the API, which might someday be made optional.

Version 0.1.0.0

Feb 5, 2018

https://github.com/mstksg/backprop/releases/tag/v0.1.0.0

  • First non-alpha release.
  • More or less complete redesign of library. The entire API is completely changed, and there is no backwards compatibility!
    • Everything is now "implicit" style, and there is no more BP monad.
    • Accessing items in BVars is now lens-, prism-, and traversal- based, instead of iso- and generics-based.
    • Op is no longer monadic
    • Mono modules are removed.
    • Implicit modules are removed, since they are the default
    • Iso module is removed, since Isos no longer play major role in the implementation of the library.
  • Removed dependency on ad and ad-based ops, which had been pulling in the vast majority of dependencies.
  • Moved from .cabal file to hpack system.

Version 0.0.3.0

Alpha

https://github.com/mstksg/backprop/releases/tag/v0.0.3.0

  • Removed samples as registered executables in the cabal file, to reduce dependences to a bare minimum. For convenience, build script now also compiles the samples into the local directory if stack is installed.

  • Added experimental (unsafe) combinators for working with GADTs with existential types, withGADT, to Numeric.Backprop module.

  • Fixed broken links in changelog.

Version 0.0.2.0

Alpha

https://github.com/mstksg/backprop/releases/tag/v0.0.2.0

  • Added optimized numeric Ops, and re-write Num/Fractional/Floating instances in terms of them.

  • Removed all traces of Summer/Unity from the library, eliminating a whole swath of "explicit-Summer"/"explicit-Unity" versions of functions. As a consequence, the library now only works with Num instances. The API, however, is now much more simple.

  • Benchmark suite added for MNIST example.

Version 0.0.1.0

Alpha

https://github.com/mstksg/backprop/releases/tag/v0.0.1.0

  • Initial pre-release, as a request for comments. API is in a usable form and everything is fully documented, but there are definitely some things left to be done. (See README.md)