@[instance 100]
instance
Lake.instAlternativeOfMonadOfMonadExceptOfPUnit_lake
{m : Type u_1 → Type u_2}
[Monad m]
[MonadExceptOf PUnit m]
:
Equations
- Lake.instAlternativeOfMonadOfMonadExceptOfPUnit_lake = Alternative.mk (fun {α : Type ?u.24} => throw ()) fun {α : Type ?u.24} => tryCatch
@[instance 10000]
instance
Lake.instMonadLiftTOfMonadLift_lake
{α : Type u_1 → Type u_2}
{β : Type u_1 → Type u_3}
[MonadLift α β]
:
MonadLiftT α β
Ensure direct lifts are preferred over indirect ones.
Equations
- Lake.instMonadLiftTOfMonadLift_lake = { monadLift := fun {α_1 : Type ?u.25} => MonadLift.monadLift }
@[instance 100]
Equations
- Lake.instMonadLiftTIdOfPure_lake = { monadLift := fun {α : Type ?u.20} (act : Id α) => pure act.run }
@[instance 100]
@[instance 100]
instance
Lake.instMonadLiftTExceptOfPureOfMonadExceptOf_lake
{m : Type u_1 → Type u_2}
{ε : Type u_3}
[Pure m]
[MonadExceptOf ε m]
:
MonadLiftT (Except ε) m
Equations
- One or more equations did not get rendered due to their size.
@[instance 100]
instance
Lake.instMonadLiftTReaderTOfBindOfMonadReaderOf_lake
{m : Type u_1 → Type u_2}
{ρ : Type u_1}
{n : Type u_1 → Type u_3}
[Bind m]
[MonadReaderOf ρ m]
[MonadLiftT n m]
:
MonadLiftT (ReaderT ρ n) m
@[instance 100]
instance
Lake.instMonadLiftTStateTOfMonadOfMonadStateOf_lake
{m : Type u_1 → Type u_2}
{σ : Type u_1}
{n : Type u_1 → Type u_3}
[Monad m]
[MonadStateOf σ m]
[MonadLiftT n m]
:
MonadLiftT (StateT σ n) m
Equations
- One or more equations did not get rendered due to their size.
@[instance 100]
instance
Lake.instMonadLiftTOptionTOfMonadOfAlternative_lake
{m : Type u_1 → Type u_2}
{n : Type u_1 → Type u_3}
[Monad m]
[Alternative m]
[MonadLiftT n m]
:
MonadLiftT (OptionT n) m
@[instance 100]
instance
Lake.instMonadLiftTExceptTOfMonadOfMonadExceptOf_lake
{m : Type u_1 → Type u_2}
{ε : Type u_1}
{n : Type u_1 → Type u_3}
[Monad m]
[MonadExceptOf ε m]
[MonadLiftT n m]
:
MonadLiftT (ExceptT ε n) m
@[instance 100]
instance
Lake.instMonadLiftTEIOOfMonadOfMonadExceptOfOfBaseIO_lake
{m : Type → Type u_1}
{ε : Type}
[Monad m]
[MonadExceptOf ε m]
[MonadLiftT BaseIO m]
:
MonadLiftT (EIO ε) m