[project @ 1996-01-08 20:28:12 by partain]
[ghc.git] / ghc / lib / ghc / FiniteMap_p.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface FiniteMap where
3 import PreludeStdIO(Maybe)
4 data FiniteMap a b      {-# GHC_PRAGMA EmptyFM | Branch a b Int# (FiniteMap a b) (FiniteMap a b) #-}
5 addListToFM :: Ord a => FiniteMap a b -> [(a, b)] -> FiniteMap a b
6         {-# GHC_PRAGMA _A_ 1 _U_ 111 _N_ _N_ _N_ _N_ #-}
7 addListToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> [(a, b)] -> FiniteMap a b
8         {-# GHC_PRAGMA _A_ 4 _U_ 1211 _N_ _S_ "LLLS" _N_ _N_ #-}
9 addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b
10         {-# GHC_PRAGMA _A_ 1 _U_ 1122 _N_ _N_ _N_ _N_ #-}
11 addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b
12         {-# GHC_PRAGMA _A_ 1 _U_ 12122 _N_ _N_ _N_ _N_ #-}
13 delFromFM :: Ord a => FiniteMap a b -> a -> FiniteMap a b
14         {-# GHC_PRAGMA _A_ 1 _U_ 112 _N_ _N_ _N_ _N_ #-}
15 delListFromFM :: Ord a => FiniteMap a b -> [a] -> FiniteMap a b
16         {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _N_ _N_ _N_ #-}
17 elemFM :: Ord a => a -> FiniteMap a b -> Bool
18         {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
19 eltsFM :: FiniteMap a b -> [b]
20         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
21 emptyFM :: FiniteMap a b
22         {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _ORIG_ FiniteMap EmptyFM [u0, u1] [] _N_ #-}
23 filterFM :: Ord a => (a -> b -> Bool) -> FiniteMap a b -> FiniteMap a b
24         {-# GHC_PRAGMA _A_ 1 _U_ 221 _N_ _N_ _N_ _N_ #-}
25 fmToList :: FiniteMap a b -> [(a, b)]
26         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
27 foldFM :: (a -> b -> c -> c) -> c -> FiniteMap a b -> c
28         {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
29 intersectFM :: Ord a => FiniteMap a b -> FiniteMap a b -> FiniteMap a b
30         {-# GHC_PRAGMA _A_ 1 _U_ 221 _N_ _N_ _N_ _N_ #-}
31 intersectFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
32         {-# GHC_PRAGMA _A_ 1 _U_ 2221 _N_ _N_ _N_ _N_ #-}
33 isEmptyFM :: FiniteMap a b -> Bool
34         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
35 keysFM :: FiniteMap b a -> [b]
36         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
37 listToFM :: Ord a => [(a, b)] -> FiniteMap a b
38         {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
39 lookupFM :: Ord a => FiniteMap a b -> a -> Maybe b
40         {-# GHC_PRAGMA _A_ 1 _U_ 112 _N_ _N_ _N_ _N_ #-}
41 lookupWithDefaultFM :: Ord a => FiniteMap a b -> b -> a -> b
42         {-# GHC_PRAGMA _A_ 1 _U_ 1112 _N_ _N_ _N_ _N_ #-}
43 mapFM :: (b -> a -> c) -> FiniteMap b a -> FiniteMap b c
44         {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
45 minusFM :: Ord a => FiniteMap a b -> FiniteMap a b -> FiniteMap a b
46         {-# GHC_PRAGMA _A_ 1 _U_ 221 _N_ _N_ _N_ _N_ #-}
47 plusFM :: Ord a => FiniteMap a b -> FiniteMap a b -> FiniteMap a b
48         {-# GHC_PRAGMA _A_ 1 _U_ 221 _N_ _N_ _N_ _N_ #-}
49 plusFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
50         {-# GHC_PRAGMA _A_ 1 _U_ 2221 _N_ _N_ _N_ _N_ #-}
51 singletonFM :: a -> b -> FiniteMap a b
52         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
53 sizeFM :: FiniteMap a b -> Int
54         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 2 1 C 6 _/\_ u0 u1 -> \ (u2 :: FiniteMap u0 u1) -> case u2 of { _ALG_ _ORIG_ FiniteMap EmptyFM  -> _!_ I# [] [0#]; _ORIG_ FiniteMap Branch (u3 :: u0) (u4 :: u1) (u5 :: Int#) (u6 :: FiniteMap u0 u1) (u7 :: FiniteMap u0 u1) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
55