小编GMa*_*nez的帖子

Haskell - 理解 :t [length, head] 定义

做作业时,我发现自己遇到了一个问题。我必须通过统一它们(教授称之为统一它们)从基本类型转变为“更复杂”的类型。地图地图示例:

map :: (c -> d) -> [c] -> [d]

map :: (a -> b) -> [a] -> [b]
Run Code Online (Sandbox Code Playgroud)

通过替换cwith a -> b, dwith[a] -> [b]并省略 map 的第一个参数,结果是[a -> b] -> [[a] -> [b]]haskell 在执行 :t map map 时返回的内容。

在一项练习中,我[length, head]根据 Haskell 中的 :t[length, head] :: [[Int] -> Int]

我在理解[length, head]工作原理时遇到问题。它是一个函数列表?它执行head到一个列表,然后length应用于结果?

我找不到这个工作的例子,每次我尝试输入一个列表或列表列表时[length,head]都会出错。我注意到它[head,length]的类型与[length,head]这并不能帮助我理解它的类型相同。

[length,head]应该如何工作?

haskell

3
推荐指数
1
解决办法
123
查看次数

标签 统计

haskell ×1