From e2e8381eade4c9f7e90476e93b920f0d9e5ab9d1 Mon Sep 17 00:00:00 2001 From: Don Stewart Date: Thu, 19 Apr 2007 06:08:33 +0200 Subject: add 8 new QC tests, including tests of the layout algorithm darcs-hash:20070419040833-9c5c1-9d8965bf22113a8aec47244eab7c769affb75951 --- StackSet.hs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'StackSet.hs') diff --git a/StackSet.hs b/StackSet.hs index 5dc95b1..07a8424 100644 --- a/StackSet.hs +++ b/StackSet.hs @@ -25,7 +25,7 @@ module StackSet ( screen, peekStack, index, empty, peek, push, delete, member, raiseFocus, rotate, promote, shift, view, workspace, fromList, - toList, size, visibleWorkspaces + toList, size, visibleWorkspaces, swap {- helper -} ) where import Data.Maybe @@ -219,12 +219,16 @@ promote :: (Integral i, Ord a) => StackSet i j a -> StackSet i j a promote w = maybe w id $ do a <- peek w -- fail if null let w' = w { stacks = M.adjust (\s -> swap a (head s) s) (current w) (stacks w) } - return $ insert a (current w) w' -- and maintain focus + return $ insert a (current w) w' -- and maintain focus (?) -- -- | Swap first occurences of 'a' and 'b' in list. -- If both elements are not in the list, the list is unchanged. -- +-- Given a set as a list (no duplicates) +-- +-- > swap a b . swap a b == id +-- swap :: Eq a => a -> a -> [a] -> [a] swap a b xs | a == b = xs -- do nothing -- cgit v1.2.3