diff options
author | Don Stewart <dons@cse.unsw.edu.au> | 2007-04-30 04:53:19 +0200 |
---|---|---|
committer | Don Stewart <dons@cse.unsw.edu.au> | 2007-04-30 04:53:19 +0200 |
commit | ccdb9d2f939d586b4a2058d78ccf496f0a920aad (patch) | |
tree | 9f01bb51a329a5cc8f055688f5d3e87e4cbc6d6d | |
parent | 50acc330c987a406715025d6dcead4b304223bb3 (diff) | |
download | metatile-ccdb9d2f939d586b4a2058d78ccf496f0a920aad.tar metatile-ccdb9d2f939d586b4a2058d78ccf496f0a920aad.zip |
clean 'delete' a little
darcs-hash:20070430025319-9c5c1-e9f7308996d1400c1abd42d2d5f6ef30b8f01c06
-rw-r--r-- | StackSet.hs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/StackSet.hs b/StackSet.hs index a480792..f21306f 100644 --- a/StackSet.hs +++ b/StackSet.hs @@ -169,14 +169,12 @@ insert k n old = new { cache = M.insert k n (cache new) -- This can be used to ensure that a given element is not managed elsewhere. -- If the element doesn't exist, the original StackSet is returned unmodified. delete :: (Integral i, Ord a) => a -> StackSet i j a -> StackSet i j a -delete k w = maybe w tweak (M.lookup k (cache w)) +delete k w = maybe w del (M.lookup k (cache w)) where - tweak i = w { cache = M.delete k (cache w) - , stacks = M.adjust (L.delete k) i (stacks w) - , focus = M.update (\k' -> if k == k' then elemAfter k (stacks w M.! i) - else Just k') i - (focus w) - } + del i = w { cache = M.delete k (cache w) + , stacks = M.adjust (L.delete k) i (stacks w) + , focus = M.update (\k' -> if k == k' then elemAfter k (stacks w M.! i) + else Just k') i (focus w) } -- | /O(log n)/. If the given window is contained in a workspace, make it the -- focused window of that workspace, and make that workspace the current one. |