Convenience syntax for Applicative
usage.
Convenience syntax for Applicative
usage.
Please forgive the use of overloading here, which avoids having to have an ApplicativeBuilder
.
Operations that are unfortunately missing from Fractional
The simplest form of monad that we can use with hedgehog.
The simplest form of monad that we can use with hedgehog.
NOTE: We _must_ use some form of call-by-need value for our M in GenT[M, ?] to avoid stack overflows.
Operations that are unfortunately missing from Integral
A _very_ naive lazy-list.
A _very_ naive lazy-list.
Unfortunately using Scala Stream
results in the head being evaluated prematurely for shrinking.
Performs the action n
times, returning the list of results.
Strict sequencing in an applicative functor M
that ignores the value in fa
.
We have our own FP predef for 2 reasons.
1. The obvious political reasons. I don't think there are any really good reasons to need more than one implementation of this library (if we do our job correctly).
Probably more importantly:
2. Library dependencies _do_ have a cost. Especially in the JVM world where we insist of relying on binary compatibility.