Ich habe einen Datentyp, der Blah
unten ähnelt, aber wegen einer Eigenart mit dem Typ kann ich nicht automatisch Functor, Applicative und Monad ableiten. Also muss ich es manuell machen, aber ich weiß nicht wie. Ich habe versucht, mich von den Instanzen für ((->) a)
inspirieren zu lassen, aber ich kann die Monad-Instanz nicht genau herausfinden.Applicative- und Monad-Instanzen für einen Funktionstyp?
Edit: Jemand markiert dies als ein Duplikat von einem anderen, aber ich sehe nicht, wo ich die Antwort bekommen hätte. Der Wrapper des neuen Typs hat das schwierig gemacht. Ich habe die Monad
Instanz in der Basis für (->) a
gesucht, bevor ich diese Frage geschrieben habe, aber die Gymnastik in der Antwort hier sind, was ich brauchte.
definieren. Warum wurde dies markiert? Es scheint eine vollkommen gute Frage zu sein. –
Mögliche Duplikate von [Wie zu verwenden (->) Instanzen von Monad und Verwirrung über (->)] (http://stackoverflow.com/questions/5310203/how-to-use-instances-of-monad-and- Verwirrung-über) – Cactus