読者です 読者をやめる 読者になる 読者になる

IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

Haskellでの集合演算は簡単だけどpreludeの場合少し嵌る

http://hackage.haskell.org/package/base-4.6.0.1/docs/Data-List.html

"Set" operations
を参照しました。

-- 和
Prelude> Data.List.union [1,2,3] [3,4,5]
[1,2,3,4,5]

-- 積
Prelude> Data.List.intersect [1,2,3] [3,4,5]
[3]

-- 差
Prelude> Data.List.\\ [1,2,3] [3,4,5]

<interactive>:15:1: parse error on input `Data.List.\\'
Prelude> Data.List.(\\) [1,2,3] [3,4,5]

-- これもできない
<interactive>:16:1:
    Failed to load interface for `Data'
    Use -v to see a list of the files searched for.

-- ロードすればできる
Prelude> :m Data.List
Prelude Data.List> (\\) [1,2,3] [3,4,5]
[1,2]
Prelude Data.List>