找出函数的作用

时间:2013-12-11 17:16:50

标签: haskell

c a = (a\\).(a\\)

我知道(\\)= foldl (flip delete)它是标准功能。

delete x [] = []
delete x (y:ys) = if x == y then ys else y : delete x ys 

我想知道我能找出c函数的作用。 我该怎么办? 如果我只关注(a\\) delete从列表中获取要删除的列表和x。 (a\\)已经列出了一个列表,因此我们需要发送一个我们想要删除的值x。 a=[a1,a2,a3]

foldl => (a1 'f' x) 'f' a2) 'f' a3  

其中fflip delete

所以从a的第一个元素中删除x并从结果列表中删除子列表a2和a3。 所以我们将获得a1独有的所有值。它似乎是一个列表列表。 不知道这是否正确。

1 个答案:

答案 0 :(得分:5)

在具有唯一元素的列表中使用时,(as \\ bs)就像设置差异,即as的一组也不是bs。因此

c as bs = as \\ (as \\ bs)

因此,它计算as的{​​{1}}集也是bs,因此也是交集。