diff options
| author | Camil Staps | 2015-03-12 12:25:11 +0100 | 
|---|---|---|
| committer | Camil Staps | 2015-03-12 12:25:11 +0100 | 
| commit | 0b0b2bb70f75161442c29fa83e0742e40fdeeb22 (patch) | |
| tree | 072848ee1f90dbba69831887ece34f7c7c6c9bd3 | |
| parent | Only takewhile to be done (diff) | |
Working on takeWhile...
| -rw-r--r-- | week5/camil/Origami.icl | 7 | 
1 files changed, 4 insertions, 3 deletions
| diff --git a/week5/camil/Origami.icl b/week5/camil/Origami.icl index abd3cae..d844d2c 100644 --- a/week5/camil/Origami.icl +++ b/week5/camil/Origami.icl @@ -2,20 +2,21 @@ module Origami  import StdEnv
 -Start			= and
 +/*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]
 -				  ]
 +				  ]*/
 +Start = takeWhile` ((<>) 0) [1,2,3,0,4,5,6]
  sum`			= foldr (+) 0
  prod`			= foldr (*) 1
  flatten`		= foldr (++) []
  length`			= foldl (\l e = l + 1) 0
  reverse`		= foldl (\xs x = [x:xs]) []
 -takeWhile`		= takeWhile
 +takeWhile` p		= foldr (\x xs = if (p x) [x:xs] xs) []
  maxList` []		= undef
  maxList` [x:xs]		= foldr max x xs
 | 
