In Haskell, was gibt die Monad Instanz von Funktionen nur Anwendung? Mit Blick auf ihre Implementierungen, scheinen sie fast identisch:Haskell monad vs applicative Instanz von Funktionen
(<*>) f g x = f x (g x)
(>>=) f g x = g (f x) x
Gibt es alles, was Sie mit >>=
tun können, die Sie nicht nur mit <*>
tun kann?
Ich glaube, dass es keinen Unterschied, im Fall von '((->) ein) 'und' Reader' (was das Gleiche ist), zwischen dem, was die 'Applicative'- und' Monad'-Schnittstellen erlauben. Dies unterscheidet sich von den meisten Typen. – Carl