Changelog of @hackage/endo 0.2.0.1

ChangeLog / ReleaseNotes

Version 0.2.0.1

Version 0.2.0.0

  • Default implementation for anEndo method of 'AnEndo' type class, which is now defined as: anEndo = getDual . aDualEndo. As a consequence it is now possible to define complete instances of AnEndo by providing either anEndo or aDualEndo. (new, change)
  • Introducing associated type Result to FoldEndoArgs type class. This allows result of the whole folding to be explicitly stated in a type signature. (new, change)
  • Introducing functions embedEndoWith and embedDualEndoWith. Both can be used to simplify application of endomorphisms that are result of folding. (new)
    • embedEndoWith :: (AnEndo e, EndoOperatesOn e ~ a) => (Endo a -> b) -> e -> b
    • embedDualEndoWith :: (AnEndo e, EndoOperatesOn e ~ a) => (Dual (Endo a) -> b) -> e -> b
  • Introducing instance AnEndo (Proxy a), which is useful in cases when one needs to force constraint EndoOperatesOn args ~ a where a is the a from Proxy a. This is done by encoding value of Proxy in to identity endomorphism that operates on specified type a. (new)
  • Introducing instance (Monoid c, FoldEndoArgs r) => FoldEndoArgs (Const c r), which is useful in cases when one needs to discard the computation and return a constant instead. (new)
  • Bumping upper bounds on base and between, therefore it now builds on GHC 7.10 with base 4.8. (new)
  • Uploaded to Hackage: http://hackage.haskell.org/package/endo-0.2.0.0

Version 0.1.0.2

Version 0.1.0.1

Version 0.1.0.0