yaya-unsafe: Non-total extensions to the Yaya recursion scheme library.

[ agpl, library, recursion ] [ Propose Tags ]

Yaya is designed as a _total_ library. However, it is often expedient to use partial operations in some cases, and this package extends Yaya to provide those operations. It’s in a separate package (and modules) in order to make sure its use is very intentional and also relatively obvious to those reading your code. It’s recommended that you import these modules qualified and, in particular, all the type class instances here have been pulled into a separate module to avoid accidentally bringing them into scope.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.1.0, 0.1.1.2, 0.2.0.0, 0.2.0.1, 0.3.3.0, 0.3.3.1, 0.4.0.0, 0.4.1.0, 0.4.1.1 (info)
Change log CHANGELOG.md
Dependencies base (>=4.12.0 && <4.13 || >=4.13.0 && <4.14 || >=4.14.0 && <4.15 || >=4.15.0 && <4.16 || >=4.16.0 && <4.17 || >=4.17.0 && <4.18 || >=4.18.0 && <4.19 || >=4.19.0 && <4.20), bifunctors (>=5.5.7 && <5.7), comonad (>=5.0.7 && <5.1), free (>=5.1.5 && <5.3), lens (>=5 && <5.3), yaya (>=0.5.1 && <0.6 || >=0.6.0 && <0.7) [details]
License AGPL-3.0-or-later
Copyright 2017 Greg Pfeil
Author Greg Pfeil <greg@technomadic.org>
Maintainer Greg Pfeil <greg@technomadic.org>
Category Recursion
Home page https://github.com/sellout/yaya#readme
Bug tracker https://github.com/sellout/yaya/issues
Source repo head: git clone https://github.com/sellout/yaya
Uploaded by sellout at 2024-04-03T14:56:31Z
Distributions NixOS:0.4.0.0
Downloads 1922 total (64 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-04-03 [all 1 reports]

Readme for yaya-unsafe-0.4.1.1

[back to package description]

Yaya-Unsafe

Unsafe extensions to the Yaya recursion scheme library.

This includes

  • Recursive instances for lazily-recursive types
  • Corecursive instances for strictly-recursive types
  • operations on trees that can’t be implemented in a total fashion.