6
Data un'azione di monad Writer
, voglio modificarlo mappando una funzione sui dati scritti all'interno dell'azione monad.Modifica dei dati scritti in un writer monad
Qualcosa di simile:
retell :: (w -> w') -> Writer w a -> Writer w' a
Ha una tale funzione esiste già nelle librerie? Se no, come si può essere definiti?
Si può fare questo concatenamento 'pass' metodo nella classe MonadWriter? Altrimenti, farei la mia sottoclasse di Writer - 'Rewriter' che fornisce un'operazione' retell'. –
@stephentetley - correggendo me stesso, dato che si desidera modificare il parametro 'w' della monade Writer non è possibile farlo con' pass'. Vorrei andare con una sottoclasse di 'Rewriter' che estende' Writer' con 'retell'. –