Builds nested scalaz Coproducts.
Builds nested scalaz Coproducts. Use like: * type MarkLogicFs[A] = ( Task :\: SessionIO :\: ContentSourceIO :\: GenUUID :\: MonotonicSeq :\: MLReadHandles :\: MLWriteHandles :/: MLResultHandles )#M[A]
An endomorphism is a mapping from a category to itself.
An endomorphism is a mapping from a category to itself. It looks like scalaz already staked out "Endo" for the lower version.
Used for a normally-recursive parameter that has been “externalized”.
Used for a normally-recursive parameter that has been “externalized”. E.g.,
Tree[LogicalPlan[ExternallyManaged]] vs Fix[LogicalPlan]. This indicates
that the recursive structure is intact, but is handled by some containing
structure (Tree, in that example).
Just like Prism, but operates over Functors.
A thread-safe, atomically updatable mutable reference.
A thread-safe, atomically updatable mutable reference.
Cribbed from the IORef defined in oncue/remotely, an Apache 2 licensed
project: https://github.com/oncue/remotely
Applies a transformation over Free, treating it like T[CoEnv].
Accept a value (forcing the argument expression to be evaluated for its effects), and then discard it, returning Unit.
Accept a value (forcing the argument expression to be evaluated for its effects), and then discard it, returning Unit. Makes it explicit that you're discarding the result, and effectively suppresses the "NonUnitStatement" warning from wartremover.
Algebra transformation that allows a standard algebra to be used on a CoEnv structure (given a function that converts the leaves to the result type).
liftM as a natural transformation
liftM as a natural transformation
TODO: PR to scalaz
Nicely formatted, order-preserving, 2-space indented.
Nicely formatted, order-preserving, 2-space indented.
point as a natural transformation
A specialization of interpret where the leaves are of the result type.
"Generic" types for building partially-constructed trees in some "functorized" type.
Lift a State computation to operate over a "larger" state given a Lens.
Lift a State computation to operate over a "larger" state given a Lens.
NB: Uses partial application of F[_] for better type inference, usage:
zoomNT[F](lens)
A shorter name for the identity function.
A shorter name for the identity function.
A shorter name for the constant function of 1, 2, 3, or 6 args.
A shorter name for the constant function of 1, 2, 3, or 6 args.
NB: the argument is eager here, so use _ => ... instead if you need it
to be thunked.
Probably not useful; implemented here mostly because it's amusing.
Probably not useful; implemented here mostly because it's amusing.