Tại sao không cần sử dụng thang máy để thực hiện một chức năng trong môi trường biến áp đơn lẻ nội bộ, ngoại trừ IO? Ý tôi là, nếu tôi có StateT trên WriterT và WriterT trên ReaderT, tại sao tôi có thể làm điều này?Biến thế Monad và chức năng nâng
tell $ {- any code here for the Writer -}
foo <- asks {- This for the reader -}
and so on...
thay vì
lift $ tell $ {- code ... -}
...
Có một lời giải thích đặc biệt hoặc nó chỉ là cách Monad Transformers được viết?
Nhìn vào [tất cả các trường hợp 'WriterT' có] (http://hackage.haskell.org/packages/archive/mtl/latest/doc/html/Control-Monad-Writer-Lazy.html#control.i : WriterT). – icktoofay
Lưu ý rằng nếu bạn sử dụng thư viện 'máy biến áp' thay vì' mtl', bạn sẽ phải 'dỡ bỏ' mọi thứ một cách rõ ràng. –