Ich las Scrap your type classes. Dies bietet eine Alternative für Typklassen. Ich war jedoch mit einem Kommentar von Paul Chiusano fest, die über die Wiederherstellung der Do Notation Syntax sprach.Wiederherstellen der Do Notation Syntax
Ehrlich gesagt konnte ich nicht verstehen, wie
return :: a -> (Monad f -> f a)
(>>=) :: (Monad f -> f a) -> (a -> (Monad f -> f b)) -> (Monad f -> f b)
helfen Notation tun würde erholen
Sie können alle monadischen combinators wie dies umzusetzen, und desugar ihnen Notation tun. Der Do-Block wertet eine Funktion aus, die das Monad-Wörterbuch akzeptiert, so dass Sie sogar bequem Code schreiben können, der in der Wahl von monad polymorph ist, ohne das Wörterbuch manuell herumführen zu müssen.
Und vor allem, wie es in den Kontext der GADT-Stil-Ansatz im obigen Artikel erwähnt würde passen?