diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2015-01-05 16:57:01 +0000 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2015-01-05 17:00:05 +0000 |
commit | 0b3f53fb8d86278ead96ea08bedd8990d3256dc4 (patch) | |
tree | d3ae62380f95ab44b711a4d4a7b8eb9630746069 /compiler/coreSyn | |
parent | d6c8da69ed75f0a046bfcf779e71a4ecd2dab106 (diff) | |
download | haskell-wip/redundant-constraints.tar.gz |
Remove redundant constraints in the compiler itself, found by -fwarn-redundant-constraintswip/redundant-constraints
Diffstat (limited to 'compiler/coreSyn')
-rw-r--r-- | compiler/coreSyn/TrieMap.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/coreSyn/TrieMap.hs b/compiler/coreSyn/TrieMap.hs index efae2865cd..9197386ccb 100644 --- a/compiler/coreSyn/TrieMap.hs +++ b/compiler/coreSyn/TrieMap.hs @@ -154,12 +154,12 @@ mapMb :: TrieMap m => (a->b) -> MaybeMap m a -> MaybeMap m b mapMb f (MM { mm_nothing = mn, mm_just = mj }) = MM { mm_nothing = fmap f mn, mm_just = mapTM f mj } -lkMaybe :: TrieMap m => (forall b. k -> m b -> Maybe b) +lkMaybe :: (forall b. k -> m b -> Maybe b) -> Maybe k -> MaybeMap m a -> Maybe a lkMaybe _ Nothing = mm_nothing lkMaybe lk (Just x) = mm_just >.> lk x -xtMaybe :: TrieMap m => (forall b. k -> XT b -> m b -> m b) +xtMaybe :: (forall b. k -> XT b -> m b -> m b) -> Maybe k -> XT a -> MaybeMap m a -> MaybeMap m a xtMaybe _ Nothing f m = m { mm_nothing = f (mm_nothing m) } xtMaybe tr (Just x) f m = m { mm_just = mm_just m |> tr x f } |