标签: haskell
我误读了文档。
考虑mtl中定义的runState。
runState
s -> (a, s) :: State s a
runState的两个参数看起来与s中的Identity和StateT s Identity有什么关系?
s
Identity
StateT s Identity
答案 0 :(得分:3)
您误读了类型签名。
runState :: State s a -> s -> (a, s)
此类型签名直接表示runState需要2个参数。第一个是State s a类型,第二个是s类型。
State s a