首页 > 解决方案 > 无法导入 Data.List.\\

问题描述

标签: haskellimportoperators

解决方案


好吧\\是一个运算符,它将在幕后调用相应的(\\) :: Eq a => [a] -> [a] -> [a]函数,因此您需要导入函数名称,包括括号

import Data.List ((\\))

毕竟,您导入了一个函数列表(以及其他元素,如类型、类型类等),而函数的“名称”是(\\),而不是\\

所以在外括号之间,我们列出了我们要导入的函数,而内括号,不充当“分组器”或一些独立的语法元素,仅作为函数名称的一部分。

例如:

Prelude> import Data.List ((\\))
Prelude Data.List> [1, 4, 2, 5] \\ [1, 3, 0, 2]
[4,5]

请注意,您可以将setDiff函数声明为:

setDiff :: Eq a => [a] -> [a] -> [a]
setDiff = (\\)

所以没有参数。


推荐阅读