Description
Non-total extensions to the Yaya recursion scheme library.
Description
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.
README.md
Yaya-Unsafe
Unsafe extensions to the Yaya recursion scheme library.
This includes
Recursive
instances for lazily-recursive typesCorecursive
instances for strictly-recursive types- operations on trees that can’t be implemented in a total fashion.