f :: State Int()
işlevim varsa, g :: StateT Int IO()
numaralı başka bir işlevde kullanmak mümkün mü? f = do { something; g }
ile iç içe yerleştirme, Couldn't match type 'Data.Functor.Identity.Identity' with 'IO'
ile yazım denetimi başarısız olur.StateT IO öğesinin State ile kaynaştırılması
cevap
Evet, bu işlem genellikle "kaldırma" olarak adlandırılır. Sadece tanımlamak ve aşağıdaki işlevini kullanın:
hoistState :: Monad m => State s a -> StateT s m a
hoistState = StateT . (return .) . runState
Ne yazık ki, Control.Monad.State
modülünde tanımlı değil.
Harika, teşekkürler! – Fraser
Ayrıca bakınız [mmorph' paketi için öğretici] (http://hackage.haskell.org/packages/archive/mmorph/1.0.0/doc/html/Control-Monad-Morph.html#g:4) –
@GabrielGonzalez 'hoistId :: (Monad m) => t ile bir monad transformatörleri için bir tür sınıfına sahip gibi görünüyor.> A -> tma', temel kitaplıklara faydalı (Haskell98) eklenir. Bu, functor dönüşü için 'MFunctor'ın sadece özel bir versiyonu olur. runIdentity'. –
- 1. WebScotty içinde StateT kullanın.Scotty
- 2. StateT ile Döngü: Bu döngü neden dönmez?
- 3. Haskell State Monad'ın dağıtılması
- 4. StateT Monad'ı düzgün bir şekilde nasıl kullanabilirsiniz?
- 5. HasOn'da kendi monadıma IO nasıl eklenir?
- 6. IO ile karşılaştırmak haskell
- 7. 'State' (Evet) 'i gizlemeksizin bir haskell işlevi nasıl yazılır' state '(değişiklik) durumu değiştirir
- 8. $ state params ile veri gönderin angularjs
- 9. Haskell Regex - 'IO() hatası' [Char] 'ile eşleştirilemedi' IO() hatası
- 10. State State MAC'ı genel olarak nasıl devre dışı bırakılır?
- 11. açısal-soket io io tanımlı değil
- 12. Android gridlayoutmanager ile recyclerview öğesinin son öğesinin alt boşluğunu ekle
- 13. Scalaz state monad'ı anlamaya çalışmak
- 14. Java IO Performansı XOR 2 Dosyaları ile
- 15. Kendi alanımı c9.io ile kullanabilir miyim?
- 16. IO monad ile Mantıksal ve Kesinlik
- 17. Angularjs Akordeon Girişi isApen State
- 18. Sorun belirleme Visual State Manager ile ön plan alanı
- 19. AngularJS: ui-route $ state ile html5 modu URL'leri alamıyorum
- 20. Perl IO :: Socket :: INET
- 21. Bu fomvalidation io nasıl yapılır her zaman form doğrulaması io ile bir formu doğrulayan bir form
- 22. Memoizing IO Hesaplamalar Haskell'e
- 23. Scala State monad - farklı durum türlerini birleştiriyor
- 24. Io öğrenmeye başlamak için temel çerçeve Io (programlama dili)
- 25. .NET, IO Threads veya IO Tamamlama Bağlantı Noktalarını nasıl kullanır?
- 26. IO çıkışlarını listeye toplama
- 27. Sailsjs Socket IO
- 28. Graphviz, State Transition Diagram'larını böyle yapabilir mi?
- 29. ASP.Net Session State Sağlayıcı Yük Devretme Senaryoları
- 30. Xaml'de Visual State Manager'da Grid width = "*" ayarı
Burada bulunmaması gerekenler g = do {something; f} ' F içinde g kullanmak ister misin? – gumik