X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FMisc.hs;h=b9220cbbcefa7bf52ea9ec6c76b5f5d09467d4b6;hb=173d34c0d529830efeab39b7cca9a03856514469;hp=6b5a84d20af8d79ea3eac277b5032eaf9123a8c5;hpb=c954154b379c5bd444d527298c33142fb150711b;p=spline3.git diff --git a/src/Misc.hs b/src/Misc.hs index 6b5a84d..b9220cb 100644 --- a/src/Misc.hs +++ b/src/Misc.hs @@ -3,6 +3,8 @@ module Misc where +import Data.List (intersect) + -- | The standard factorial function. See -- for @@ -46,8 +48,8 @@ transpose_xz m = | z <- [0..zsize]] where zsize = (length m) - 1 - ysize = (length $ head m)- 1 - xsize = (length $ head $ head m) - 1 + ysize = length (head m) - 1 + xsize = length (head $ head m) - 1 -- | Takes a list, and returns True if its elements are pairwise -- equal. Returns False otherwise. @@ -57,3 +59,19 @@ all_equal xs = where first_element = head xs other_elements = tail xs + + +-- | Returns 'True' if the lists xs and ys are disjoint, 'False' +-- otherwise. +-- +-- Examples: +-- +-- >>> disjoint [1,2,3] [4,5,6] +-- True +-- +-- >>> disjoint [1,2,3] [3,4,5] +-- False +-- +disjoint :: (Eq a) => [a] -> [a] -> Bool +disjoint xs ys = + intersect xs ys == []