]> gitweb.michael.orlitzky.com - spline3.git/blobdiff - src/Misc.hs
Re-enable the non-doc tests.
[spline3.git] / src / Misc.hs
index 6364e95e2c6f3b97794a609bbc7df6c40bd9b65a..34c682e31a7609e590898311885ea397fed1f6c4 100644 (file)
@@ -7,6 +7,15 @@ where
 -- | The standard factorial function. See
 --   <http://www.willamette.edu/~fruehr/haskell/evolution.html> for
 --   possible improvements.
+--
+--   Examples:
+--
+--   >>> factorial 0
+--   1
+--
+--   >>> factorial 4
+--   24
+--
 factorial :: Int -> Int
 factorial n
     | n <= 1 = 1
@@ -16,5 +25,21 @@ factorial n
 
 -- | Takes a three-dimensional list, and flattens it into a
 --   one-dimensional one.
+--
+--  Examples:
+--
+--  >>> flatten [ [[1,2], [3,4]], [[5,6], [7,8]] ]
+--  [1,2,3,4,5,6,7,8]
+--
 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 =
+    all (== first_element) other_elements
+    where
+      first_element  = head xs
+      other_elements = tail xs