endo-0.2.0.0: ChangeLog.md
# ChangeLog / ReleaseNotes
## 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
* Bugfix release.
* Bugfix: Unable to compile with transformers >= 0.4 (again).
* Minor documentation updates.
* Uploaded to [Hackage][]: <http://hackage.haskell.org/package/endo-0.1.0.2>
## Version 0.1.0.1
* Bugfix release.
* Bugfix: Unable to compile with transformers >= 0.4.
* Uploaded to [Hackage][]: <http://hackage.haskell.org/package/endo-0.1.0.1>
## Version 0.1.0.0
* **This version doesn't work with transformers >= 0.4.**
* First public release.
* Uploaded to [Hackage][]: <http://hackage.haskell.org/package/endo-0.1.0.0>
[Hackage]:
http://hackage.haskell.org/
"HackageDB (or just Hackage) is a collection of releases of Haskell packages."
<!--
vim: filetype=markdown softtabstop=4 shiftwidth=4 expandtab
-->