@jsoldi/hkt
Version:
Higher kinded types for typescript and a few utility monads.
17 lines • 615 B
JavaScript
import { memo } from "../../core/utils.js";
import { lazy } from "../lazy.js";
import { task } from "../task.js";
import { functorFree } from "./functorFree.js";
import { monadFree } from "./monadFree.js";
/** The free monad module. */
export const free = (() => {
const getTrampoline = memo(() => monadFree(lazy));
const getTrampolineAsync = memo(() => monadFree(task));
return {
get trampoline() { return getTrampoline(); },
get trampolineAsync() { return getTrampolineAsync(); },
ofFunctor: functorFree,
ofMonad: monadFree
};
})();
//# sourceMappingURL=free.js.map