shrink 'rotate' a little

This commit is contained in:
Don Stewart
2007-04-30 02:45:25 +00:00
parent 966da43176
commit 9fafa995c7

View File

@@ -143,10 +143,8 @@ rotate :: (Integral i, Eq a) => Ordering -> StackSet i j a -> StackSet i j a
rotate o w = maybe w id $ do rotate o w = maybe w id $ do
f <- M.lookup (current w) (focus w) f <- M.lookup (current w) (focus w)
s <- M.lookup (current w) (stacks w) s <- M.lookup (current w) (stacks w)
ea <- case o of ea <- case o of EQ -> Nothing
EQ -> Nothing _ -> elemAfter f (if o == GT then s else reverse s)
GT -> elemAfter f s
LT -> elemAfter f (reverse s)
return $ w { focus = M.insert (current w) ea (focus w) } return $ w { focus = M.insert (current w) ea (focus w) }
-- | /O(log n)/. shift. move the client on top of the current stack to -- | /O(log n)/. shift. move the client on top of the current stack to