Предполагая, что вы действительно хотите обычную разность наборов, а не странное упорядоченное, но несортированное многосетевое вычитание, которое, по-видимому, обеспечивает Haskell, просто преобразуйте списки в наборы, используя встроенную функцию set
, а затем используйте встроенную -
оператор для вычисления заданной разности:
set xs - set ys
Например:
> set [1..5] - set [2..4];;
val it : Set<int> = seq [1; 5]