[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / lib / ghc / Maybes_mp.hi
diff --git a/ghc/lib/ghc/Maybes_mp.hi b/ghc/lib/ghc/Maybes_mp.hi
new file mode 100644 (file)
index 0000000..cf5b8e0
--- /dev/null
@@ -0,0 +1,39 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Maybes where
+import Prelude(thenMaybe)
+import PreludeStdIO(Maybe(..))
+data Maybe a   = Nothing | Just a
+data MaybeErr a b   = Succeeded a | Failed b
+allMaybes :: [Maybe a] -> Maybe [a]
+       {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+assocMaybe :: Eq a => [(a, b)] -> a -> Maybe b
+       {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LSL" _N_ _N_ #-}
+catMaybes :: [Maybe a] -> [a]
+       {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+failMaB :: b -> MaybeErr a b
+       {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 2 _/\_ u0 u1 -> \ (u2 :: u1) -> _!_ _ORIG_ Maybes Failed [u0, u1] [u2] _N_ #-}
+failMaybe :: Maybe a
+       {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ Nothing [u0] [] _N_ #-}
+findJust :: (a -> Maybe b) -> [a] -> Maybe b
+       {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+firstJust :: [Maybe a] -> Maybe a
+       {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+foldlMaybeErrs :: (b -> a -> MaybeErr b c) -> b -> [a] -> MaybeErr b [c]
+       {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "LLS" _N_ _N_ #-}
+listMaybeErrs :: [MaybeErr a b] -> MaybeErr [a] [b]
+       {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+mapMaybe :: (a -> Maybe b) -> [a] -> Maybe [b]
+       {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+maybeToBool :: Maybe a -> Bool
+       {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 4 _/\_ u0 -> \ (u1 :: Maybe u0) -> case u1 of { _ALG_ Nothing  -> _!_ False [] []; Just (u2 :: u0) -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+mkLookupFun :: (a -> a -> Bool) -> [(a, b)] -> a -> Maybe b
+       {-# GHC_PRAGMA _A_ 3 _U_ 212 _N_ _S_ "LSL" _N_ _N_ #-}
+returnMaB :: a -> MaybeErr a b
+       {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 2 _/\_ u0 u1 -> \ (u2 :: u0) -> _!_ _ORIG_ Maybes Succeeded [u0, u1] [u2] _N_ #-}
+returnMaybe :: a -> Maybe a
+       {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: u0) -> _!_ Just [u0] [u1] _N_ #-}
+thenMaB :: MaybeErr a c -> (a -> MaybeErr b c) -> MaybeErr b c
+       {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 3 2 CX 6 _/\_ u0 u1 u2 -> \ (u3 :: MaybeErr u0 u2) (u4 :: u0 -> MaybeErr u1 u2) -> case u3 of { _ALG_ _ORIG_ Maybes Succeeded (u5 :: u0) -> _APP_  u4 [ u5 ]; _ORIG_ Maybes Failed (u6 :: u2) -> _!_ _ORIG_ Maybes Failed [u1, u2] [u6]; _NO_DEFLT_ } _N_ #-}
+thenMaybe :: Maybe a -> (a -> Maybe b) -> Maybe b
+       {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 5 _/\_ u0 u1 -> \ (u2 :: Maybe u0) (u3 :: u0 -> Maybe u1) -> case u2 of { _ALG_ Nothing  -> _!_ Nothing [u1] []; Just (u4 :: u0) -> _APP_  u3 [ u4 ]; _NO_DEFLT_ } _N_ #-}
+