Я хотел бы складывать ResourceT
с помощью монады ReaderT
. Кажется, у меня есть два варианта:
Поместите ReaderT
на нижнюю или верхнюю часть стека.
data MyEnv
newtype MyT1 m a = MyT1 { unT1 :: ResourceT (ReaderT MyEnv m) a }
newtype MyT2 m a = MyT2 { unT2 :: ReaderT MyEnv (ResourceT m) a }
Что лучше в смысле эффективности/правильности? Каковы общие рекомендации по укладке ResourceT
с помощью WriterT
или других монадов?