From a7d7542dc646a5fd124ef71e71ce260889f1701b Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Tue, 2 Feb 2016 19:24:50 +0100 Subject: Moved to 1415 directory --- fp1/week3/mart/StdSortList.dcl | 18 ------------- fp1/week3/mart/StdSortList.icl | 50 ------------------------------------ fp1/week3/mart/StdStack.dcl | 13 ---------- fp1/week3/mart/StdStack.icl | 57 ------------------------------------------ 4 files changed, 138 deletions(-) delete mode 100644 fp1/week3/mart/StdSortList.dcl delete mode 100644 fp1/week3/mart/StdSortList.icl delete mode 100644 fp1/week3/mart/StdStack.dcl delete mode 100644 fp1/week3/mart/StdStack.icl (limited to 'fp1/week3/mart') diff --git a/fp1/week3/mart/StdSortList.dcl b/fp1/week3/mart/StdSortList.dcl deleted file mode 100644 index 46bd238..0000000 --- a/fp1/week3/mart/StdSortList.dcl +++ /dev/null @@ -1,18 +0,0 @@ -definition module StdSortList - -import StdClass - -:: SortList a - -newSortList :: SortList a // lege gesorteerde lijst -memberSort :: a (SortList a) -> Bool | Eq, Ord a // is element van -insertSort :: a (SortList a) -> SortList a | Ord a // voeg element toe -removeFirst :: a (SortList a) -> SortList a | Eq, Ord a // verwijder eerste voorkomen -removeAll :: a (SortList a) -> SortList a | Eq, Ord a // verwijder alle voorkomens -elements :: (SortList a) -> [a] // geef alle elementen -count :: (SortList a) -> Int // aantal elementen - -minimum :: (SortList a) -> a // huidige minimum waarde -maximum :: (SortList a) -> a // huidige maximum waarde - -mergeSortList :: (SortList a) (SortList a) -> SortList a | Eq, Ord a // meng gesorteerde lijsten diff --git a/fp1/week3/mart/StdSortList.icl b/fp1/week3/mart/StdSortList.icl deleted file mode 100644 index db71a36..0000000 --- a/fp1/week3/mart/StdSortList.icl +++ /dev/null @@ -1,50 +0,0 @@ -implementation module StdSortList - -import StdEnv - -:: SortList a :== ([a], a) - -newSortList :: SortList a -newSortList = ([], abort "Empty list") - -memberSort :: a (SortList a) -> Bool | Eq, Ord a -memberSort e ([], y) = y -memberSort e ([x:xs], y) -| e == x = True -| e > x = False -| otherwise = memberSort e (xs, y) - -insertSort :: a (SortList a) -> SortList a | Ord a -insertSort e ([], y) = ([e], e) -insertSort e ([x:xs], y) -| e <= x = ([e:x:xs], y) -| otherwise = ([x:fst result], snd result) - where result = insertSort e (xs, y) - -removeFirst :: a (SortList a) -> SortList a | Eq, Ord a -removeFirst e ([], y) = y -removeFirst e ([e], e) = newSortList -removeFirst e ([x:xs], y) -| e == x = ([xs], y) -removeFirst _ _ = abort "" - -removeAll :: a (SortList a) -> SortList a | Eq, Ord a -removeAll _ _ = abort "" - -elements :: (SortList a) -> [a] -elements _ = abort "" - -count :: (SortList a) -> Int -count _ = abort "" - -minimum :: (SortList a) -> a -minimum _ = abort "" - -maximum :: (SortList a) -> a -maximum _ = abort "" - -mergeSortList :: (SortList a) (SortList b) -> (SortList a) -mergeSortList _ _ = abort "" - -Start :: String -Start = newSortList diff --git a/fp1/week3/mart/StdStack.dcl b/fp1/week3/mart/StdStack.dcl deleted file mode 100644 index 8c861a1..0000000 --- a/fp1/week3/mart/StdStack.dcl +++ /dev/null @@ -1,13 +0,0 @@ -definition module StdStack - -:: Stack a - -newStack :: Stack a // lege stack -push :: a (Stack a) -> Stack a // plaats nieuw element bovenop de stack -pushes :: [a] (Stack a) -> Stack a // plaats elementen achtereenvolgens bovenop stack -pop :: (Stack a) -> Stack a // haal top element van stack -popn :: Int (Stack a) -> Stack a // haal bovenste $n$ top elementen van stack -top :: (Stack a) -> a // geef top element van stack -topn :: Int (Stack a) -> [a] // geef bovenste $n$ top elementen van stack -elements :: (Stack a) -> [a] // geef alle elementen van stack -count :: (Stack a) -> Int // tel aantal elementen in stack diff --git a/fp1/week3/mart/StdStack.icl b/fp1/week3/mart/StdStack.icl deleted file mode 100644 index 13220e1..0000000 --- a/fp1/week3/mart/StdStack.icl +++ /dev/null @@ -1,57 +0,0 @@ -implementation module StdStack - -import StdEnv - -:: Stack a = Stack [a] - -newStack :: Stack a -newStack = Stack [] - -push :: a (Stack a) -> Stack a -push x (Stack xs) = Stack [x:xs] - -pushes :: [a] (Stack a) -> Stack a -pushes [] (Stack s) = Stack s -pushes [x:xs] (Stack s) = pushes xs (push x (Stack s)) - -pop :: (Stack a) -> Stack a -pop (Stack []) = abort "Can't pop from empty stack..." -pop (Stack [x:xs]) = Stack xs - -popn :: Int (Stack a) -> Stack a -popn 0 s = s -popn n s = popn (n-1) (pop s) - -top :: (Stack a) -> a -top (Stack []) = abort "Can't give top of empty stack..." -top (Stack [x:_]) = x - -topn :: Int (Stack a) -> [a] -topn 0 _ = [] -topn n x = [top x:topn (n-1) (pop x)] - -elements :: (Stack a) -> [a] -elements (Stack s) = s - -count :: (Stack a) -> Int -count (Stack []) = 0 -count (Stack [_:xs]) = 1 + count (Stack xs) - -Start = ( "s0 = newStack = ", s0,'\n' - , "s1 = push 1 s0 = ", s1,'\n' - , "s2 = pushes [2..5] s1 = ",s2,'\n' - , "s3 = pop s2 = ", s3,'\n' - , "s4 = popn 3 s3 = ", s4,'\n' - , "s5 = top s4 = ", s5,'\n' - , "s6 = topn 3 s2 = ", s6,'\n' - , "s7 = elements s2 = ", s7,'\n' - ) -where - s0 = newStack - s1 = push 1 s0 - s2 = pushes [2..5] s1 - s3 = pop s2 - s4 = popn 3 s3 - s5 = top s4 - s6 = topn 3 s2 - s7 = elements s2 -- cgit v1.2.3