6
我有一個Map Int String -> Proxy() a() Void IO b
類型的函數。現在它await
s,對它的價值做任何事情,然後重新調用它自己。我想將其更改爲使用State (Map Int String)
而不是將其作爲參數傳遞,因此我可以使用forever
,並且不需要讓每個分支都記住遞歸。我得到,我需要使用StateT
結合State
與另一個單子,但我不明白在那種類型簽名StateT
所屬的位置,或者我是否需要lift
功能,如get
。功能的正確類型是State (Map Int String)
和Proxy() a() Void IO b
?如何使用狀態與管道?
希望這有助於! http://stackoverflow.com/questions/18471706/idiomatic-bidirectional-pipes-with-downstream-state-without-loss – user3303858