projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2004-08-13 13:04:50 by simonmar]
[ghc-hetmet.git]
/
ghc
/
compiler
/
utils
/
OrdList.lhs
diff --git
a/ghc/compiler/utils/OrdList.lhs
b/ghc/compiler/utils/OrdList.lhs
index
d093e43
..
7f22b38
100644
(file)
--- a/
ghc/compiler/utils/OrdList.lhs
+++ b/
ghc/compiler/utils/OrdList.lhs
@@
-48,6
+48,15
@@
appOL None bs = bs
appOL as None = as
appOL as bs = Two as bs
appOL as None = as
appOL as bs = Two as bs
+mapOL :: (a -> b) -> OrdList a -> OrdList b
+mapOL f None = None
+mapOL f (One x) = One (f x)
+mapOL f (Two x y) = Two (mapOL f x) (mapOL f y)
+mapOL f (Many xs) = Many (map f xs)
+
+instance Functor OrdList where
+ fmap = mapOL
+
foldrOL :: (a->b->b) -> b -> OrdList a -> b
foldrOL k z None = z
foldrOL k z (One x) = k x z
foldrOL :: (a->b->b) -> b -> OrdList a -> b
foldrOL k z None = z
foldrOL k z (One x) = k x z