summaryrefslogtreecommitdiff
path: root/fp1/week4/camil
diff options
context:
space:
mode:
authorCamil Staps2016-02-02 19:24:50 +0100
committerCamil Staps2016-02-02 19:24:50 +0100
commita7d7542dc646a5fd124ef71e71ce260889f1701b (patch)
tree04ed89503bbb3cc9933273a1326a53ca724c3492 /fp1/week4/camil
parentweek6 camil: working positioning of lines by putting empties at left and righ... (diff)
Moved to 1415 directoryHEADmaster
Diffstat (limited to 'fp1/week4/camil')
-rw-r--r--fp1/week4/camil/5.45
-rw-r--r--fp1/week4/camil/StdSet.dcl25
-rw-r--r--fp1/week4/camil/StdSet.icl64
3 files changed, 0 insertions, 94 deletions
diff --git a/fp1/week4/camil/5.4 b/fp1/week4/camil/5.4
deleted file mode 100644
index accd855..0000000
--- a/fp1/week4/camil/5.4
+++ /dev/null
@@ -1,5 +0,0 @@
-1. Optelling in de gehele getallen is commutatief, dit maakt dus niet uit.
-2. Het verschil tussen 4-2=2 en 2-4=-2.
- Algemeen: het verschill tussen (-) a b = a-b en flip (-) a b = b-a, dus (-) a b = - flip (-) a b
-3. Vermenigvuldiging in de gehele getallen is commutatief, dit maakt dus niet uit.
-3. Het verschil tussen 4/2=2 en 2/4=0.
diff --git a/fp1/week4/camil/StdSet.dcl b/fp1/week4/camil/StdSet.dcl
deleted file mode 100644
index 6cad7f1..0000000
--- a/fp1/week4/camil/StdSet.dcl
+++ /dev/null
@@ -1,25 +0,0 @@
-definition module StdSet
-
-import StdClass
-
-:: Set a
-
-toSet :: [a] -> Set a | Eq a
-fromSet :: (Set a) -> [a]
-
-isEmptySet :: (Set a) -> Bool
-isDisjoint :: (Set a) (Set a) -> Bool | Eq a
-isSubset :: (Set a) (Set a) -> Bool | Eq a
-isStrictSubset :: (Set a) (Set a) -> Bool | Eq a
-memberOfSet :: a (Set a) -> Bool | Eq a
-union :: (Set a) (Set a) -> Set a | Eq a
-intersection :: (Set a) (Set a) -> Set a | Eq a
-nrOfElements :: (Set a) -> Int
-without :: (Set a) (Set a) -> Set a | Eq a
-
-product :: (Set a) (Set b) -> Set (a,b)
-
-instance zero (Set a)
-instance == (Set a) | Eq a
-
-powerSet :: (Set a) -> Set (Set a)
diff --git a/fp1/week4/camil/StdSet.icl b/fp1/week4/camil/StdSet.icl
deleted file mode 100644
index 651c869..0000000
--- a/fp1/week4/camil/StdSet.icl
+++ /dev/null
@@ -1,64 +0,0 @@
-implementation module StdSet
-
-import StdEnv
-import StdClass
-
-:: Set a :== [a]
-
-toSet :: [a] -> Set a | Eq a
-toSet l = toSet` l []
-where
- toSet` [] s = s
- toSet` [x:xs] s = toSet` xs (join x s)
- where
- join :: a (Set a) -> Set a | Eq a
- join e s
- | memberOfSet e s = s
- | otherwise = s ++ [e]
-
-fromSet :: (Set a) -> [a]
-fromSet s = s
-
-isEmptySet :: (Set a) -> Bool
-isEmptySet [] = True
-isEmptySet _ = False
-
-isDisjoint :: (Set a) (Set a) -> Bool | Eq a
-isDisjoint s1 s2 = length (intersection s1 s2) == 0
-
-isSubset :: (Set a) (Set a) -> Bool | Eq a
-isSubset s1 s2 = nrOfElements (intersection s1 s2) == nrOfElements s1
-
-isStrictSubset :: (Set a) (Set a) -> Bool | Eq a
-isStrictSubset s1 s2 = isSubset s1 s2 && s1 <> s2
-
-memberOfSet :: a (Set a) -> Bool | Eq a
-memberOfSet e [] = False
-memberOfSet e [x:xs]
- | e == x = True
- | otherwise = memberOfSet e xs
-
-union :: (Set a) (Set a) -> Set a | Eq a
-union s1 s2 = toSet (s1 ++ s2)
-
-intersection :: (Set a) (Set a) -> Set a | Eq a
-intersection s1 s2 = [e \\ e <- s1 | memberOfSet e s2]
-
-nrOfElements :: (Set a) -> Int
-nrOfElements s = length (fromSet s)
-
-without :: (Set a) (Set a) -> Set a | Eq a
-without s1 s2 = [e \\ e <- s1 | (memberOfSet e s2) == False]
-
-product :: (Set a) (Set b) -> Set (a,b)
-product s1 s2 = [(e1,e2) \\ e1 <- s1, e2 <- s2]
-
-instance zero (Set a)
-where zero = []
-
-instance == (Set a) | Eq a
-where (==) s1 s2 = isSubset s1 s2 && isSubset s2 s1
-
-powerSet :: (Set a) -> Set (Set a)
-powerSet [] = [zero]
-powerSet [e:es] = map ((++) [e]) (powerSet es) ++ powerSet es \ No newline at end of file