Gibt es in Hackage irgendwo eine Typklasse analog zu MonadIO
, aber für Applicative
s, mit dem IO
-Aktionen einfach auf " anwendbare Kompositionsstapel " basierend auf IO
?
Wenn eine solche Typklasse existiert, würde sie durch die Implementierung des Applicative-Monad-Vorschlags ? Umfasst der Vorschlag eine Lockerung der Constraint Monad
für MonadIO
?
Es gab eine diesbezügliche Diskussion über Haskell-Cafe vor einem Jahr. In den Reddit-Kommentaren gab ich ein Beispiel einer natürlichen Transformation ( g
) von IO zu einer anderen Monade, die ein anwendungsorientierter Funktor-Morphismus ist (dh die Gesetze erfüllt, die Gabriel Gonzalez erwähnt), ist aber kein Monadenmorphismus (er erfüllt nicht das zusätzliche Gesetz bezüglich >>=
). Selbst in einer Welt mit AMP sind also ApplicativeIO m
und MonadIO m
wirklich unterschiedliche Dinge, auch wenn m
ein Monad
ist!
In einer idealen Welt hätte man ein Setup wie folgt:
%Vor% und magische Feen würden ApplicativeIO
und MonadIO
genau dann definieren, wenn die entsprechenden Gesetze erfüllt wurden.
Tags und Links haskell applicative fam-proposal