Qu'est-ce que la classe de type Comonad en Haskell ? Comme dans Comonad de Control.Comonad dans le paquet comonad (les explications de tout autre paquet qui fournit une classe de type Comonad sont également les bienvenues). J'ai vaguement entendu parler de Comonad, mais tout ce que je sais vraiment à son sujet est qu'il fournit extract :: w a -> a
qui est en quelque sorte un parallèle à la méthode de Monad return :: a -> m a
.
Points bonus pour avoir noté des utilisations "réelles" de Comonad dans du code "réel".