-
Notifications
You must be signed in to change notification settings - Fork 22
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
First provide MonadInspectMVar
which is the analogy of MonadInspectSTM
but for MVar
s.
class ( MonadMVar m
, Monad (InspectMonadMVar m)
)
=> MonadInspectMVar m where
type InspectMonadMVar m :: Type -> Type
inspectMVar :: proxy m -> MVar m a -> InspectMonadMVar m (Maybe a)
Then provide a type class
class MonadTraceMVar m where
traceMVarIO :: proxy
-> MVar m a
-> (Maybe (Maybe a) -> Maybe a -> InspectMonad m TraceValue)
-> m ()
and two instances: MonadTraceMVar IO
and MonadTraceMVar (IOSim s)
.
Under this proposal, I also suggest we also rename the associated type family InspectMonad
of MonadInspectSTM
as InsepctMonadSTM
.
bolt12
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request