From dc9e17da5048c08190c895f482cbda05456a9934 Mon Sep 17 00:00:00 2001 From: Don Stewart Date: Fri, 9 Mar 2007 07:12:55 +0100 Subject: explicit interface on StackSet. maybe it should be a seperate package ... ? darcs-hash:20070309061255-9c5c1-77a4933e2d0a3af442eaf820bbff2469347f0a4c.gz --- StackSet.hs | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'StackSet.hs') 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) -- cgit v1.2.3