Package5.2.3ControlRecursion
recursion-schemes
Representing common recursion patterns as higher-order functions
- Version5.2.3
- CategoryControl, Recursion
- LicenceBSD-2-Clause
- AuthorEdward A. Kmett
- Maintainer"Samuel Gélineau" <gelisam@gmail.com>, "Ryan Scott" <ryan.gl.scott@gmail.com>, "Luc Tielen" <luc.tielen@gmail.com>
- Homepagegithub.com/ekmett/recursion-schemes
- Pinned byhackage recursion-schemes 5.2.3
- Sourcehackage.haskell.org/package/recursion-schemes-5.2.3
Modules
3 modules- Data.Functor.Base4Base Functors for standard types not already expressed as a fixed point.
- Data.Functor.Foldable60
- Data.Functor.Foldable.TH6
Description
Many recursive functions share the same structure, e.g. pattern-match on the input and, depending on the data constructor, either recur on a smaller input or terminate the recursion with the base case. Another one: start with a seed value, use it to produce the first element of an infinite list, and recur on a modified seed in order to produce the rest of the list. Such a structure is called a recursion scheme. Using higher-order functions to implement those recursion schemes makes your code clearer, faster, and safer. See README for details.
Depends on
8 packages- base-4.20.2.0with GHC
- comonad-5.0.9in this set
- containers-0.7with GHC
- data-fix-0.3.4in this set
- free-5.2in this set
- template-haskell-2.22.0.0with GHC
- th-abstraction-0.7.1.0in this set
- transformers-0.6.1.1with GHC
Used by in this set · 0
Nothing in this set depends on it.