Changelog for endo-0.3.0.0
ChangeLog / ReleaseNotes
Version 0.3.0.0
- Introducing type
:->to simplify type signatures of endomorphism folding functions that restrict type of a result. (new) - Type class
AnEndomoved in to a separate moduleData.Monoid.Endo.AnEndo. Definitions are reexported byData.Monoid.Endo.Fold, therefore providing backward compatible API. (change) - Introducing
instance AnEndo a => AnEndo (Identity a). (new) - Introducing
FromEndotype class for conversion of endomorphism in to a value. It is a dual toAnEndotype class. This type class resides in its own moduleData.Monoid.Endo.FromEndo. (new) - Introducing
ApplyEndonewtype that provides easier endomorphism evaluation in cases when there is an "obvious" default value. This type has its own moduleData.Monoid.Endo.Applythat also provides various helper functions and type class instances. (new) - Providing
Eq1,Ord1,Read1andShow1instances if built with transformers package >=0.5 or base >=4.9 (i.e. GHC=8.0.1) is available. (new)
- Providing
Generic1instance forWrappedFoldable. (new) - Introducing
instance AnEndo a => AnEndo (Option a), but only when compiled with base >=4.9, since that is the first version of base which containsSemigroup. (new) - Bumped upper bound of transformers package to include 0.5.* versions. (change)
- Synchronized API documentation of
Data.Monoid.Endo.Foldwith README. (trivial change) - Uploaded to Hackage: http://hackage.haskell.org/package/endo-0.3.0.0
Version 0.2.0.1
- API documentation ehancements and clarifications.
- Explicit implementation of
aDualEndoforinstance AnEndo a => AnEndo (Maybe a). - Uploaded to Hackage: http://hackage.haskell.org/package/endo-0.2.0.1
Version 0.2.0.0
- Default implementation for
anEndomethod of 'AnEndo' type class, which is now defined as:anEndo = getDual . aDualEndo. As a consequence it is now possible to define complete instances ofAnEndoby providing eitheranEndooraDualEndo. (new, change) - Introducing associated type
ResulttoFoldEndoArgstype class. This allows result of the whole folding to be explicitly stated in a type signature. (new, change) - Introducing functions
embedEndoWithandembedDualEndoWith. 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 -> bembedDualEndoWith :: (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 constraintEndoOperatesOn args ~ awhereais theafromProxy a. This is done by encoding value ofProxyin to identity endomorphism that operates on specified typea. (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