Estoy estudiando la biblioteca mtl
y tratando de hacer algunos MonadTransformers propios. Estaba revisando la declaración Control.Monad.State.StateT
, ya través de todo el código, veo esta sintaxis:¿Qué significa `~` en Haskell?
execStateT :: (Monad m) => StateT s m a -> s -> m s
execStateT m s = do
~(_, s') <- runStateT m s
return s'
¿Qué significa esto ~
operando?