diff options
author | Don Stewart <dons@cse.unsw.edu.au> | 2007-03-09 07:12:55 +0100 |
---|---|---|
committer | Don Stewart <dons@cse.unsw.edu.au> | 2007-03-09 07:12:55 +0100 |
commit | e4186f45bc51f593cb9d22d5b7b8edc15b30ede7 (patch) | |
tree | 73bbfffdd3940f9faa331e54bd2da96fa3c192c9 | |
parent | 32ddbfb9d42a5633e0ac7e5e7ce4933086b42e92 (diff) | |
download | metatile-e4186f45bc51f593cb9d22d5b7b8edc15b30ede7.tar metatile-e4186f45bc51f593cb9d22d5b7b8edc15b30ede7.zip |
explicit interface on StackSet. maybe it should be a seperate package ... ?
darcs-hash:20070309061255-9c5c1-77a4933e2d0a3af442eaf820bbff2469347f0a4c
-rw-r--r-- | StackSet.hs | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/StackSet.hs b/StackSet.hs index 1cf205d..5ac88b3 100644 --- a/StackSet.hs +++ b/StackSet.hs @@ -19,7 +19,30 @@ -- may be on only 1 screen at any given time. -- -module StackSet {- everything -} where +module StackSet ( + StackSet, -- abstract + + -- * Introduction and elimination + empty, -- :: Int -> StackSet a + fromList, -- :: Ord a => (Int,[[a]]) -> StackSet a + toList, -- :: StackSet a -> (Int,[[a]]) + index, -- :: Int -> StackSet a -> [a] + current, -- :: StackSet a -> Int + + -- * Queries + member, -- :: Ord a => a -> StackSet a -> Bool + size, -- :: StackSet a -> Int + peek, -- :: StackSet a -> Maybe a + + -- * Modifcations + push, -- :: Ord a => a -> StackSet a -> StackSet a + view, -- :: Int -> StackSet a -> StackSet a + rotate, -- :: Ordering -> StackSet a -> StackSet a + shift, -- :: Ord a => Int -> StackSet a -> StackSet a + insert, -- :: Ord a => a -> Int -> StackSet a -> StackSet a + delete, -- :: Ord a => a -> StackSet a -> StackSet a + + ) where import Data.Maybe import qualified Data.List as L (nub,delete) |