]> gitweb.michael.orlitzky.com - spline3.git/commitdiff
Add the all_equal function to the Misc module.
authorMichael Orlitzky <michael@orlitzky.com>
Tue, 7 Jun 2011 21:00:54 +0000 (17:00 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Tue, 7 Jun 2011 21:00:54 +0000 (17:00 -0400)
src/Misc.hs

index 6364e95e2c6f3b97794a609bbc7df6c40bd9b65a..fd6dd392bdb3c6e1247d2271f1aeedfa766f43a7 100644 (file)
@@ -18,3 +18,13 @@ factorial n
 --   one-dimensional one.
 flatten :: [[[a]]] -> [a]
 flatten xs = concat $ concat xs
+
+
+-- | Takes a list, and returns True if its elements are pairwise
+--   equal. Returns False otherwise.
+all_equal :: (Eq a) => [a] -> Bool
+all_equal xs =
+    and $ map (== first_element) other_elements
+    where
+      first_element  = head xs
+      other_elements = tail xs