shift: use guards instead of if

This commit is contained in:
Spencer Janssen
2007-07-24 15:23:40 +00:00
parent cc3527a975
commit bf4388e3aa

View File

@@ -474,7 +474,7 @@ swapMaster = modify' $ \c -> case c of
-- element on the current stack, the original stackSet is returned.
--
shift :: (Ord a, Eq s, Eq i) => i -> StackSet i a s sd -> StackSet i a s sd
shift n s = if n `tagMember` s && n /= curtag
then maybe s go (peek s) else s
shift n s | n `tagMember` s && n /= curtag = maybe s go (peek s)
| otherwise = s
where go w = view curtag . insertUp w . view n . delete w $ s
curtag = tag (workspace (current s))