diff options
Diffstat (limited to 'fp1/week5/camil/Origami.icl')
-rw-r--r-- | fp1/week5/camil/Origami.icl | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/fp1/week5/camil/Origami.icl b/fp1/week5/camil/Origami.icl deleted file mode 100644 index 74362a9..0000000 --- a/fp1/week5/camil/Origami.icl +++ /dev/null @@ -1,24 +0,0 @@ -module Origami
-
-import StdEnv
-
-Start = and
- [ sum` [1 .. 5] == sum [1 .. 5]
- , prod` [1 .. 5] == prod [1 .. 5]
- , flatten` [[],[1],[1,2],[1,2,3]] == flatten [[],[1],[1,2],[1,2,3]]
- , reverse` [1 .. 5] == reverse [1 .. 5]
- , takeWhile` ((<>) 0) [1,2,3,0,4,5,6] == takeWhile ((<>) 0) [1,2,3,0,4,5,6]
- , maxList` [1 .. 5] == maxList [1 .. 5]
- ]
-
-sum` = foldr (+) 0
-prod` = foldr (*) 1
-flatten` = foldr (++) []
-length` = foldl (\l e = l + 1) 0
-reverse` = foldl (\xs x = [x:xs]) []
-takeWhile` _ [] = []
-takeWhile` p xs
- | p (xs!!0) = take (maxList [i \\ i <- [0..length xs-1] | foldr (&&) True [p (xs!!j) \\ j <- [0..i]]] + 1) xs
- | otherwise = []
-maxList` [] = undef
-maxList` [x:xs] = foldr max x xs
|