私は、機能がであれば、それを別の機能の中で使うことは可能ですかg :: StateT Int IO()
? f = do { something; g }
でネストすると、Couldn't match type 'Data.Functor.Identity.Identity' with 'IO'
で型チェックできません。StateT IOを状態
答えて
はい、この操作は通常「巻上げ」と呼ばれます。ただ、次の関数を定義して使用します。
hoistState :: Monad m => State s a -> StateT s m a
hoistState = StateT . (return .) . runState
を残念ながら、それはControl.Monad.State
モジュールで定義されていません。
素晴らしいです、ありがとう! – Fraser
[mmorphパッケージのチュートリアル](http://hackage.haskell.org/packages/archive/mmorph/1.0.0/doc/html/Control-Monad-Morph.html#g:4)も参照してください。 –
@GabrielGonzalez 'hoistId ::(Monad m)=> t Identity a - > tma'を持つモナド変換器の型クラスが、基本ライブラリに便利な(Haskell98)追加のように思えます。ファンクタ 'returnのための' MFunctor'の特別なバージョンです。 runIdentity'です。 –
- 1. 入れ子状態のStateTとErrorTのモナドをうまく評価する方法は?
- 2. componentWillReceiveProps状態が還元状態更新後のレンダリング状態と異なる
- 3. RFCOMM_CreateConnection - 既に開いている状態:2、RFC状態:4、MCB状態:5
- 4. 有限状態マシン:複数の状態への1つの状態
- 5. 状態:not_verified pubsubhubbub
- 6. ゲームレベル/メニュー状態
- 7. 休止状態:
- 8. は状態
- 9. ユニックス状態チェック!
- 10. pthreadスレッド状態
- 11. IISセッション状態
- 12. ASP.NETセッション状態
- 13. python asynchat状態
- 14. Handles.RotationHandle()の状態
- 15. GWTクライアント状態
- 16. プレスアンドロイドボタンの状態
- 17. asp.netセッション状態
- 18. ASP.Netセッション状態
- 19. ViewStateの状態
- 20. セット状態
- 21. Isapiフィルター - 状態
- 22. PHP - トグル状態
- 23. angularsjs状態プロバイダマルチパラメータ
- 24. メニューページの状態
- 25. サービスフォールト状態
- 26. 競合状態
- 27. ファンクターインスタンスの状態
- 28. フォームバッキング状態オブジェクト
- 29. エコー状態ニューラルネットワーク?
- 30. チェックスピナー状態
'g = do {something; f} '?あなたはg内のfを使用したいのですが、そうですか? – gumik