方括号在类型声明中的含义是什么?

时间:2016-09-01 21:10:12

标签: list haskell types io

例如:

 r <- query_ conn "SELECT * from test" :: IO [TestField]

[TestField]代表什么?

1 个答案:

答案 0 :(得分:3)

简单地说,IO [TestField]TestField monad中IO的列表。

但是,更正确的描述是它是一个IO动作,其结果的类型为[TestField](因为只有在执行IO后才能获得结果值)。

您可以在以下来源中了解有关这些内容的更多信息:

Haskell Hierarchical Libraries - The IO Monad

LYAH - An intro to lists