@[inline, reducible]
A sequence of calls donated by the key type κ
.
Instances For
@[inline]
def
Lake.guardCycle
{κ : Type u_1}
{m : Type u_1 → Type u_2}
{α : Type u_1}
[BEq κ]
[Monad m]
(key : κ)
(act : Lake.CycleT κ m α)
:
Lake.CycleT κ m α
Add key
to the monad's CallStack
before invoking act
.
If adding key
produces a cycle, the cyclic call stack is thrown.