【发布时间】:2018-07-26 00:09:41
【问题描述】:
在 Haskell 中是否有一种惯用的方式来表达以下代码?
main :: IO ()
main = loop initState1 initState2 initState3
loop :: State1 -> State2 -> State3 -> IO ()
loop s1 s2 s3 = do
s1' <- runService1 s1
s2' <- runService2 s2
s3' <- runService3 s3
loop s1' s2' s3'
这段代码非常冗长,所以我可能做了一些奇怪的事情。
【问题讨论】:
-
查看其他答案,我认为问题中的代码是我宁愿阅读的。这基本上很明显,如果你突然意识到
runService2需要依赖s1',你不需要做太多改变。
标签: haskell