strong etiqueta body haskell syntax types typeclass functional-dependencies

haskell - etiqueta - ¿Qué significa un tubo en una definición de clase?



etiqueta strong (1)

En realidad, es una " dependencia funcional ". En este caso, eso significa que m identifica de forma única w - el tipo m determina el tipo w . ( Este puede ser un mejor enlace).

class (Monoid w, Monad m) => MonadWriter w m | m -> w where pass :: m (a,w -> w) -> m a listen :: m a -> m (a,w) tell :: w -> m ()

¿Cuál es el significado de la tubería de arriba? El fragmento proviene de aquí .