Gegeben eine Writer
Monad-Aktion, ich möchte sie ändern, indem ich eine Funktion über die geschriebenen Daten innerhalb der Monad-Aktion abbilde.Ändern der geschriebenen Daten in einer Writer-Monade
Etwas wie:
retell :: (w -> w') -> Writer w a -> Writer w' a
Gibt es eine solche Funktion existiert bereits in den Bibliotheken? Wenn nicht, wie kann man definiert werden?
Können Sie dies tun, indem Sie die 'pass' Verkettungs Methode in der MonadWriter-Klasse? Wenn nicht, würde ich meine eigene Unterklasse von Writer machen - "Rewriter", die eine 'retell'-Operation bereitstellt. –
@stephentlety - Ich korrigiere mich, wie Sie schreiben möchten, ändern Sie das 'w 'der Writer Monade können Sie dies nicht mit' pass' tun. Ich würde mit einer 'Rewriter'-Unterklasse gehen, die' Writer' mit 'retell' erweitert. –