11
モナドのスタックがある場合は、IO
,State
、Error
と、IO
とError
という関数を使用するといいでしょう。私は私の機能を使用することができるので、スタックから "State
"のモナドを "削除"する方法はありますか?注文がIO
,Error
,State
の場合、種類に合わせてlift
を使用できますが、モナドのスタックにIO
とError
が含まれていて、おそらく他のモナドが何らかの順序で含まれていると、私の機能を使用できます。たとえば、次のようにモナドスタックの操作
fun :: ErrorT String IO()
fun = throwError "error"
someCode :: ErrorT String (StateT Int IO)()
someCode = do
-- I want to use fun here
これは素晴らしいです、ありがとう! –