Haskell`sequence`函数返回的类型与预期的略有不同

时间:2014-07-18 19:51:59

标签: haskell

我是Haskell的新手并且正在玩一些code。 我对以下GHCI会议感到困惑:

*Main> :l golden_cross_sample.hs
*Main> :t stateProcessors
stateProcessors :: [State GoldenCrossState String]
*Main> :t sequence
sequence :: Monad m => [m a] -> m [a]
*Main> let res1 = (sequence stateProcessors)
*Main> :t res1
res1 :: StateT GoldenCrossState Identity [String]

sequence的类型签名中,我希望res1具有类型State GoldenCrossState [String]。为什么不呢?

1 个答案:

答案 0 :(得分:10)

确实如此。 State s aStateT s Identity a的类型同义词,您可以在Haddock中阅读。