From 3216cc4bc00dde60098f7735af317a791e714494 Mon Sep 17 00:00:00 2001 From: Mart Lubbers Date: Wed, 29 Apr 2015 20:57:05 +0200 Subject: try for week3 part 2 --- fp2/week3/mart/StdDynSet.icl | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'fp2/week3/mart/StdDynSet.icl') diff --git a/fp2/week3/mart/StdDynSet.icl b/fp2/week3/mart/StdDynSet.icl index ee43631..ffc2590 100644 --- a/fp2/week3/mart/StdDynSet.icl +++ b/fp2/week3/mart/StdDynSet.icl @@ -8,25 +8,29 @@ class Set a | TC, ==, toString a :: Set = Set [Dynamic] instance zero Set -where zero = abort "zero instance voor Set nog niet geimplementeerd.\n" +where zero = Set [] instance toString Set -where toString a = abort "toString instance voor Set nog niet geimplementeerd.\n" - +where toString (Set a) = abort "toString not implemented" + instance == Set where == a b = abort "== instance voor Set nog niet geimplementeerd.\n" toSet :: a -> Set | Set a -toSet a = abort "toSet nog niet geimplementeerd.\n" +toSet a = Set [dynamic a] nrOfElts :: Set -> Int -nrOfElts a = abort "nrOfElts nog niet geimplementeerd.\n" +nrOfElts (Set a) = length a isEmptySet :: Set -> Bool -isEmptySet a = abort "isEmptySet nog niet geimplementeerd.\n" +isEmptySet (Set []) = True +isEmptySet _ = False memberOfSet :: a Set -> Bool | Set a -memberOfSet x a = abort "memberOfSet nog niet geimplementeerd.\n" +memberOfSet _ (Set []) = False +memberOfSet x (Set [y:xs]) +| isEqual x y = True +| otherwise = memberOfSet x xs isSubset :: Set Set -> Bool isSubset a b = abort "isSubset nog niet geimplementeerd.\n" @@ -42,3 +46,6 @@ intersection a b = abort "intersection nog niet geimplementeerd.\n" without :: Set Set -> Set without a b = abort "without nog niet geimplementeerd.\n" + +Start :: Set +Start = toSet 1 -- cgit v1.2.3