Notable changes to this project are documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Breaking changes:
New features:
Bugfixes:
Other improvements:
v7.2.0 - 2026-10-22
New features:
- Added the
ZipCofreenewtype wrapper with layer-wiseApplyandApplicativeinstances (#128 by @adenko). - Added
recastCofreeto transform aCofree's branching functor while allowing the transformation to inspect its subtrees (#117 by @mikesol).
v7.1.2 - 2026-10-22
Bugfixes:
- Give
Free's result type a representational role. Previously accepted unsafe coercions between unrelated result types (such asFree f IntandFree f String) now fail to compile; valid newtype coercions remain supported (#127 by @thomashoneyman).
v7.1.1 - 2026-10-17
Other improvements:
- Migrate from Bower/Pulp to Spago, update CI and formatting, and remove the benchmarks (#129 by @thomashoneyman).
v7.1.0 - 2023-09-05
New features:
- Added
FoldableWithIndexandTraversableWithIndexinstances forCofree(#126 by @postsolar)
v7.0.0 - 2022-04-27
Breaking changes:
- Update project and deps to PureScript v0.15.0 (#123 by @JordanMartinez)
- Drop deprecated
MonadZeroinstance (#122 by @JordanMartinez) - Drop deprecated
unfoldCofree; usebuildCofreeinstead (#124 by @JordanMartinez)
New features:
Bugfixes:
Other improvements:
v6.2.0 - 2021-11-19
New features:
- Added a
FunctorWithIndexinstance forCofree(#118 by @mikesol)
Other improvements:
- Split
LICENSEintoLICENSEandLICENSE_THIRDPARTY(#119 by @maxdeviant)
v6.1.0 - 2021-09-09
New features:
- Added semigroup and monoid instances for
Cofree(#116 by @mikesol)
v6.0.1 - 2021-04-20
Bugfixes:
- Removed unused constraint from
Ord1instance (#114 by @rintcius)
Other improvements:
- Fixed warnings revealed by v0.14.1 PS release (#115 by @JordanMartinez)
v6.0.0 - 2021-02-26
Breaking changes:
- Added support for PureScript 0.14 and dropped support for all previous versions (#106, #110)
Other improvements:
- Migrated CI to GitHub Actions and updated installation instructions to use Spago (#108)
- Added a CHANGELOG.md file and pull request template (#111, #112)
- Updated benchmarks (#103)
v5.2.0 - 2019-04-01
- Added
SemigroupandMonoidinstances forFree(@safareli)
v5.1.0 - 2018-06-14
- Added
MonadFreeandComonadCofreeclasses.
v5.0.0 - 2018-05-23
- Updated for PureScript 0.12
Trampolineis now based on(->) Unitrather thanLazyto avoid unnecessary caching
v4.3.0 - 2018-04-07
- Added
wrapforFree(@ajnsit) - Added more instances for
Coyoneda
v4.2.0 - 2017-12-11
- Made
Cofreelazier (@natefaubion) - Added
buildCofreeand deprecateunfoldCofree(@natefaubion) - Added
deferCofree(@natefaubion)
v4.1.0 - 2017-06-23
- Added
resume'(@natefaubion)
v4.0.1 - 2017-05-28
- Added
Coyonedadocs (@coot)
v4.0.0 - 2017-03-27
- Updated for PureScript 0.11
- Added
Eq1andOrd1instances - Rearrange the arguments of
unfoldCofreeto be more natural - The
Applicativeinstance is now consistent withMonad
v3.5.1 - 2017-03-16
- Export
exploreM.
v3.5.0 - 2017-03-16
- Added
exploreM(@coot)
v3.4.0 - 2017-01-31
- Added
unCoyoneda
v3.3.0 - 2017-01-02
- Added
EqandOrdinstances forFreeandCofree
v3.2.0 - 2016-12-29
- Added
FoldableandTraversableinstances forFree
v3.1.0 - 2016-12-24
- Added
explorecombinator forCofree(@paf31)
v3.0.1 - 2016-11-14
- Fixed shadowed name warnings
v3.0.0 - 2016-10-16
- Updated catenable-lists dependency
v2.0.0 - 2016-10-13
- Updated dependencies
- Added
unfoldCofree
v1.4.0 - 2016-09-27
- Added
hoistCofree
v1.3.0 - 2016-09-14
- Added
(:<)operator forCofreeconstructor
v1.2.0 - 2016-07-28
- Added
substFreefor better performance when folding into anotherFree(@natefaubion) - Implemented
hoistFreein terms ofsubstFreefor better performance (@natefaubion)
v1.1.0 - 2016-07-26
- Restored a
resumefunction (@natefaubion) - Improved performance of
runFree(@natefaubion)
v1.0.0 - 2016-06-01
This release is intended for the PureScript 0.9.1 compiler and newer.
Note: The v1.0.0 tag is not meant to indicate the library is “finished”, the core libraries are all being bumped to this for the 0.9 compiler release so as to use semver more correctly.
v1.0.0-rc.3 - 2016-05-26
- Updated for introduction of
Data.NaturalTransformationto the prelude - Renamed
mapFtohoistFree - Renamed
liftCoyonedaTtohoistCoyoneda - Added
hoistYoneda
v1.0.0-rc.2 - 2016-05-22
- Relaxed constraints for some instances of
Cofreeand fixedpureimplementation (@parsonsmatt)
v1.0.0-rc.1 - 2016-03-28
- Release candidate for the psc 0.8+ core libraries
v0.9.1 - 2015-11-19
- Fixed warnings raised in psc 0.7.6
v0.9.0 - 2015-09-16
- Bump
transformersdependency
v0.8.0 - 2015-08-26
Bump transformers to 0.7.1.
This release requires the 0.7.4.1 release of the PureScript compiler. Previous versions of this library will not work with psc versions < 0.7.4.1.
v0.7.0 - 2015-08-16
- New implementation based on “Reflection without Remorse” (@ethul)
v0.6.1 - 2015-07-29
- Added
MonadRecinstance (@LiamGoodacre)
v0.6.0 - 2015-07-24
- Added
injFand renamedinjCtoinjFCfor consistency with the otherF/FCfunctions
v0.5.1 - 2015-07-23
- Added additional function variations
liftFI,liftFCIandmapFC - Added new functions
bindFandbindFC
v0.5.0 - 2015-06-30
This release works with versions 0.7.* of the PureScript compiler. It will not work with older versions. If you are using an older version, you should require an older, compatible version of this library.
v0.5.0-rc.1 - 2015-06-07
- Initial release candidate of the library intended for the 0.7 compiler.
v0.4.2 - 2015-05-13
- Update to prevent stack overflow with left-associated binds (@ethul)
v0.4.1 - 2015-03-19
- Updateed docs
v0.4.0 - 2015-03-02
- Renamed
go,goM, etc. torunFree,runFreeMetc. - Removed
iterM,goEffandgoEffC. - Updated
goMto work in any target monad which is an instance ofMonadRec, which solves the issue ofgoMcausing a stack overflow for large inputs.
v0.3.0 - 2015-02-21
This release requires PureScript v0.6.8 or later
- Updated dependencies
v0.2.0 - 2015-01-10
- Updated dependencies (@garyb)
v0.1.6 - 2014-12-02
- The
FreeCtype synonym is now partially applied (@ethul)
v0.1.5 - 2014-11-30
- Added
injCandmapFfor free monad composition (@ethul)
v0.1.4 - 2014-11-18
- Fixes for extracted
Identity
v0.1.3 - 2014-10-08
- Stopgap fix,
Cofreeconstructor is exported as a workaround for purescript/purescript#618 (@jdegoes)
v0.1.2 - 2014-10-07
- Remove bogus
mkCofree'constructor (@jdegoes) - Remove unnecessary type variable from
Trampolinetype synonym (@jdegoes)
0.1.1 - 2014-10-01
- Updated to compatible transformers version number
0.1.0 - 2014-09-03
- Relocated
FreeandTrampolineback topurescript-free, and addingYonedaandCoyoneda.
0.0.8 - 2014-06-01
- Specialized of
goforEffas discussed in issue #6
0.0.7 - 2014-05-15
- Trampolined version of
Free(@puffnfresh)
0.0.6 - 2014-04-28
- Bump dependencies
0.0.5 - 2014-04-28
- Bump dependencies
0.0.4 - 2014-04-08
- Updated classes for PureScript 0.5
0.0.1 - 2014-04-01
- Initial release
