6
Cho một hành động đơn lẻ Writer
, tôi muốn sửa đổi nó bằng cách ánh xạ hàm trên dữ liệu viết bên trong hành động đơn lẻ.Thay đổi dữ liệu viết trong một đơn vị Writer
Cái gì như:
retell :: (w -> w') -> Writer w a -> Writer w' a
Có một chức năng như vậy đã tồn tại trong thư viện? Nếu không, làm thế nào có thể được xác định?
Bạn có thể làm điều này bằng cách kết nối các 'pass' phương pháp trong lớp MonadWriter? Nếu tôi không làm cho lớp con của riêng tôi của Writer - 'Rewriter' cung cấp một hoạt động' retell'. –
@stephentetley - sửa chữa bản thân mình, khi bạn muốn gõ thay đổi 'w' của trình đơn Writer bạn không thể làm điều này với' pass'. Tôi sẽ đi với một lớp con 'Rewriter' mở rộng' Writer' bằng 'retell'. –