Dlaczego nie jest konieczne użycie windy do wykonywania funkcji w wewnętrznym środowisku transformatora monad, z wyjątkiem IO? Chodzi mi o to, że jeśli mam STAŁO na pisanie i pisanie na ReaderT, dlaczego mogę to zrobić?Monad Transformatory i funkcja podnoszenia
tell $ {- any code here for the Writer -}
foo <- asks {- This for the reader -}
and so on...
zamiast
lift $ tell $ {- code ... -}
...
Czy istnieje specjalny wyjaśnienie czy jest to tylko sposób monady Transformatory zostały napisane?
Spójrz na [wszystkie wystąpienia programu 'WriterT'] (http://hackage.haskell.org/packages/archive/mtl/latest/doc/html/Control-Monad-Writer-Lazy.html#control.i : WriterT). – icktoofay
Należy zauważyć, że jeśli używasz biblioteki 'transformers' zamiast' mtl', będziesz musiał jawnie 'podnieść' wszystko. –