【发布时间】:2018-04-03 05:53:28
【问题描述】:
有没有办法使用列表实现来编写 Haskell map 函数的实现?
我不断收到错误消息,而且我认为我没有走在正确的轨道上。这就是我所拥有的:
map' :: (a -> b) -> [a] -> [b]
map' _ [] = []
map' xs ys = [ (x, y) | x <- xs | y <- ys ]
任何能引导我朝着正确方向前进的帮助或链接都将不胜感激。
【问题讨论】:
-
类型签名说
map,但实现说zip(带有多余的大小写)。 -
map的第一个参数是一个函数(根据类型签名)。map将函数应用于列表的每个元素,返回结果列表)。您正在从 2 个列表的元素创建对,即zip
标签: list haskell list-comprehension map-function