Changelog for endo-0.3.0.1
ChangeLog / ReleaseNotes
Version 0.3.0.1
Version 0.3.0.0
- Introducing type
:->
to simplify type signatures of endomorphism folding
functions that restrict type of a result. (new)
- Type class
AnEndo
moved in to a separate module Data.Monoid.Endo.AnEndo
.
Definitions are reexported by Data.Monoid.Endo.Fold
, therefore providing
backward compatible API. (change)
- Introducing
instance AnEndo a => AnEndo (Identity a)
. (new)
- Introducing
FromEndo
type class for conversion of endomorphism in to a
value. It is a dual to AnEndo
type class. This type class resides in its
own module Data.Monoid.Endo.FromEndo
. (new)
- Introducing
ApplyEndo
newtype that provides easier endomorphism evaluation
in cases when there is an "obvious" default value. This type has its own
module Data.Monoid.Endo.Apply
that also provides various helper functions
and type class instances. (new)
- Providing
Eq1
, Ord1
, Read1
and Show1
instances if built with
transformers package >=0.5 or base >=4.9 (i.e.
GHC >=8.0.1) is available. (new)
- Providing
Generic1
instance for WrappedFoldable
. (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 contains
Semigroup
. (new)
- Bumped upper bound of transformers package to include 0.5.*
versions. (change)
- Synchronized API documentation of
Data.Monoid.Endo.Fold
with README.
(trivial change)
- Uploaded to Hackage: http://hackage.haskell.org/package/endo-0.3.0.0
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