From 5973e31fd84d4a91578185f649b3783fdae8a882 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Tue, 7 Jun 2011 17:00:54 -0400 Subject: [PATCH] Add the all_equal function to the Misc module. --- src/Misc.hs | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 -- 2.43.2