Dada una acción Writer
mónada, quiero modificarlo mediante la asignación de una función a través de los datos escritos en el interior de la acción mónada.Cambio de los datos escritos en una mónada escritor
Algo así como:
retell :: (w -> w') -> Writer w a -> Writer w' a
¿Tiene una función de este tipo ya existe en las bibliotecas? Si no, ¿cómo se puede definir uno?
Se puede hacer esto por el encadenamiento de la 'pass' método en la clase MonadWriter? Si no, crearía mi propia subclase de Writer - 'Rewriter' que proporciona una operación' retell'. –
@stephentetley - corrigiéndome a mí mismo, ya que quieres escribir cambiar la 'w' de la mónada del escritor, no puedes hacer esto con' pass'. Me gustaría ir con una subclase 'Rewriter' que amplía' Writer' con 'retell'. –