[add Util.Perhaps
John Meacham <john@repetae.net>**20060813125943] addfile ./Util/Perhaps.hs
hunk ./Util/Perhaps.hs 1
+module Util.Perhaps where
+
+import Data.Typeable
+import Data.Monoid
+
+data Perhaps = No | Maybe | Yes
+    deriving(Show,Read,Typeable,Eq,Ord)
+
+
+-- the greatest lower bound was chosen as the Monoid
+-- the least upper bound is just the maximum under Ord
+instance Monoid Perhaps where
+    mempty = No
+    Yes `mappend` Yes = Yes
+    No  `mappend` No  = No
+    _   `mappend` _   = Maybe
+
+
+