BSD-3-Clause licensed by Anton Kholomiov, Edward Kmett, Oleg Grenrus
Maintained by <anton.kholomiov@gmail.com>

Module documentation for 0.3.0

This version can be pinned in stack with:data-fix-0.3.0@sha256:058a266d1e658500e0ffb8babe68195b0ce06a081dcfc3814afc784b083fd9a5,1645

Fixpoint types and recursion schemes. If you define your AST as fixpoint type, you get fold and unfold operations for free.

Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel

Changes

0.3.0

  • Rename cata, ana and hylo into foldFix, unfoldFix and `refold. Old names are now deprecated, and will be eventually removed. Similarly, rename monadic variants.
  • Add hoistFix and hoistFix' function.
  • Add Hashable and NFData instance. Latter is available only with deepseq >=1.4.3.0, which provides NFData1 type-class
  • Change Eq, Ord, Show and Read instances to use Eq1, Ord1, Show1 and Read1 instances of a base functor.
  • Add least and greatest fixed point types, Mu and Nu.
  • Drop requirement for Applicative m in monadic combinators, Monad m is enough.
  • Remove ~> alias for refold (hylo).
  • Extend the GHC support window. There is nothing magical in this package.
  • Mark Data.Fix as Trustworthy (Safe Haskell)
  • Make refold (and refoldM) more efficient. This results in different effect ordering for refoldM.
Depends on 3 packages(full list with versions):
Used by 2 packages in nightly-2020-09-16(full list with versions):