From: Michael Orlitzky Date: Tue, 7 Jun 2011 21:00:54 +0000 (-0400) Subject: Add the all_equal function to the Misc module. X-Git-Tag: 0.0.1~287 X-Git-Url: http://gitweb.michael.orlitzky.com/?a=commitdiff_plain;h=5973e31fd84d4a91578185f649b3783fdae8a882;p=spline3.git Add the all_equal function to the Misc module. --- diff --git a/src/Misc.hs b/src/Misc.hs index 6364e95..fd6dd39 100644 --- a/src/Misc.hs +++ b/src/Misc.hs @@ -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