Deal correctly with infix type constructors in GADT decls
[ghc-hetmet.git] / compiler / utils / Maybes.lhs
index 3c9bd69..f1f859a 100644 (file)
@@ -8,7 +8,7 @@ module Maybes (
        module Maybe,           -- Re-export all of Maybe
 
        MaybeErr(..),   -- Instance of Monad
-       failME,
+       failME, isSuccess,
 
        orElse, 
        mapCatMaybes,
@@ -118,6 +118,10 @@ instance Monad (MaybeErr err) where
   Succeeded v >>= k = k v
   Failed e    >>= k = Failed e
 
+isSuccess :: MaybeErr err val -> Bool
+isSuccess (Succeeded {}) = True
+isSuccess (Failed {})    = False
+
 failME :: err -> MaybeErr err val
 failME e = Failed e
 \end{code}