ı bu (belki saptırmak) var demek kod parçasıdır etrafında döşeme Let bir ExceptT
içine Either
kaldırma? Either String
MonadError
örneğinden beri bir şekilde olması gerektiğini hissediyorum. asansör Ya ExceptT otomatik
liftEither :: (Monad m, MonadError a (Either a)) => Either a b -> ExceptT a m b
liftEither = either throwError return
Ama zaten ExceptT
monad trafonun içine çalışıyorum beri bana bu hala yanlış geliyor.
Burada yanlış olan ne yapıyorum? Kodumu farklı şekilde yapılandırmalı mıyım?
Ne ExceptT 'hakkında. return'? 'ExceptT = ExceptT (m (ya e a)), ', böylece de return' için' ES (ya dize Kullanıcı) ve 'ExceptT' (yapıcı/fonksiyonu olarak) ExceptT dize IO User'' için alır. – ibotty