【问题标题】:Haskell `sequence` function returns slightly different type than expectedHaskell `sequence` 函数返回的类型与预期略有不同
【发布时间】:2014-07-19 03:53:58
【问题描述】:

我是 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]。为什么不呢?

【问题讨论】:

    标签: haskell


    【解决方案1】:

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

    【讨论】:

    • 仅供参考:这可以通过:info State 轻松检查,它将显示 GHCi 中的类型别名定义。
    猜你喜欢
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多