public final class Program<F, A> : ProgramOf<F, A>
Program is a type that, given any type constructor, is able to provide a Monad instance, that can be interpreted into a more restrictive one.
As opposed to
Program does not require
F to be a functor, which means that evaluation of
map calls are deferred
and left for the later interpretation in another monad.
public static func fix(_ fa: ProgramOf<F, A>) -> Program<F, A>
Value in the higher-kind form.
Value cast to
Lifts a value in the context of
public static func liftF(_ fa: Kind<F, A>) -> Program<F, A>
A value in the context of