Recall that StateRefT
is a macro that infers ω
from the m
.
@[inline]
def
StateRefT'.run
{ω : Type}
{σ : Type}
{m : Type → Type}
[Monad m]
[MonadLiftT (ST ω) m]
{α : Type}
(x : StateRefT' ω σ m α)
(s : σ)
:
m (α × σ)
Instances For
@[inline]
def
StateRefT'.run'
{ω : Type}
{σ : Type}
{m : Type → Type}
[Monad m]
[MonadLiftT (ST ω) m]
{α : Type}
(x : StateRefT' ω σ m α)
(s : σ)
:
m α
Instances For
@[inline]
def
StateRefT'.lift
{ω : Type}
{σ : Type}
{m : Type → Type}
{α : Type}
(x : m α)
:
StateRefT' ω σ m α
Equations
- StateRefT'.lift x✝ x = x✝
Instances For
instance
StateRefT'.instMonad
{ω : Type}
{σ : Type}
{m : Type → Type}
[Monad m]
:
Monad (StateRefT' ω σ m)
instance
StateRefT'.instMonadLift
{ω : Type}
{σ : Type}
{m : Type → Type}
:
MonadLift m (StateRefT' ω σ m)
instance
StateRefT'.instMonadFunctorOfMonad
{ω : Type}
(σ : Type)
(m : Type → Type)
[Monad m]
:
MonadFunctor m (StateRefT' ω σ m)
Equations
- StateRefT'.instMonadFunctorOfMonad σ m = inferInstanceAs (MonadFunctor m (ReaderT (ST.Ref ω σ) fun (α : Type) => m α))
instance
StateRefT'.instAlternativeOfMonad
{ω : Type}
{σ : Type}
{m : Type → Type}
[Alternative m]
[Monad m]
:
Alternative (StateRefT' ω σ m)
Equations
- StateRefT'.instAlternativeOfMonad = inferInstanceAs (Alternative (ReaderT (ST.Ref ω σ) fun (α : Type) => m α))
@[inline]
def
StateRefT'.get
{ω : Type}
{σ : Type}
{m : Type → Type}
[Monad m]
[MonadLiftT (ST ω) m]
:
StateRefT' ω σ m σ
Equations
- StateRefT'.get ref = ref.get
Instances For
@[inline]
def
StateRefT'.set
{ω : Type}
{σ : Type}
{m : Type → Type}
[Monad m]
[MonadLiftT (ST ω) m]
(s : σ)
:
StateRefT' ω σ m PUnit
Equations
- StateRefT'.set s ref = ref.set s
Instances For
@[inline]
def
StateRefT'.modifyGet
{ω : Type}
{σ : Type}
{m : Type → Type}
{α : Type}
[Monad m]
[MonadLiftT (ST ω) m]
(f : σ → α × σ)
:
StateRefT' ω σ m α
Equations
- StateRefT'.modifyGet f ref = ref.modifyGet f
Instances For
instance
StateRefT'.instMonadStateOfOfMonadLiftTSTOfMonad
{ω : Type}
{σ : Type}
{m : Type → Type}
[MonadLiftT (ST ω) m]
[Monad m]
:
MonadStateOf σ (StateRefT' ω σ m)
@[always_inline]
instance
StateRefT'.instMonadExceptOf
{ω : Type}
{σ : Type}
{m : Type → Type}
(ε : Type u_1)
[MonadExceptOf ε m]
:
MonadExceptOf ε (StateRefT' ω σ m)
Equations
- One or more equations did not get rendered due to their size.
instance
instMonadControlStateRefT'
(ω : Type)
(σ : Type)
(m : Type → Type)
:
MonadControl m (StateRefT' ω σ m)
Equations
- instMonadControlStateRefT' ω σ m = inferInstanceAs (MonadControl m (ReaderT (ST.Ref ω σ) fun (α : Type) => m α))
instance
instMonadFinallyStateRefT'OfMonad
{m : Type → Type}
{ω : Type}
{σ : Type}
[MonadFinally m]
[Monad m]
:
MonadFinally (StateRefT' ω σ m)
Equations
- instMonadFinallyStateRefT'OfMonad = inferInstanceAs (MonadFinally (ReaderT (ST.Ref ω σ) fun (α : Type) => m α))