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>