diff options
Diffstat (limited to 'Stack.hs')
-rw-r--r-- | Stack.hs | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/Stack.hs b/Stack.hs deleted file mode 100644 index 2b369b7..0000000 --- a/Stack.hs +++ /dev/null @@ -1,39 +0,0 @@ -module Stack ( - Stack, - empty, - at, - pop, - (<:>) - ) where - - -import Data.List - - -data Stack a = Stack [a] - - -instance Show a => Show (Stack a) where - show (Stack x) = "Stack:\n" ++ intercalate "\n" (map (show) x) ++ "\n\n" - - -infixr 9 <:> - - -empty :: Stack a -empty = Stack [] - - -at :: Stack a -> Int -> Maybe a -at (Stack list) index = - if (index < length list && index >= 0) - then Just (list!!index) - else Nothing - - -pop :: Int -> Stack a -> Stack a -pop n (Stack list) = Stack (drop n list) - - -(<:>) :: a -> Stack a -> Stack a -x <:> (Stack list) = Stack (x : list) |