repositories
/
ap2015.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
80b252d
)
done with ex4
author
Mart Lubbers
<mart@martlubbers.net>
Mon, 28 Sep 2015 15:41:17 +0000
(17:41 +0200)
committer
Mart Lubbers
<mart@martlubbers.net>
Mon, 28 Sep 2015 15:41:17 +0000
(17:41 +0200)
a4/mart/skeleton4.icl
patch
|
blob
|
history
diff --git
a/a4/mart/skeleton4.icl
b/a4/mart/skeleton4.icl
index
8ed9269
..
a521168
100644
(file)
--- a/
a4/mart/skeleton4.icl
+++ b/
a4/mart/skeleton4.icl
@@
-8,21
+8,28
@@
Pieter Koopman, pieter@cs.ru.nl
*/
import iTasks
*/
import iTasks
+import StdArray // To check string length
:: Idea:== String
:: Name:== String
:: Idea:== String
:: Name:== String
-:: NamedIdea = { name :: Name, idea ::
Idea
}
+:: NamedIdea = { name :: Name, idea ::
[Idea]
}
derive class iTask NamedIdea // generic magic
doIdentified :: (Name -> Task x) -> Task x | iTask x
doIdentified task = enterInformation "Enter your name" [] >>= task
editIdea :: Name -> Task NamedIdea
derive class iTask NamedIdea // generic magic
doIdentified :: (Name -> Task x) -> Task x | iTask x
doIdentified task = enterInformation "Enter your name" [] >>= task
editIdea :: Name -> Task NamedIdea
-editIdea name = enterInformation (name +++ " add your idea") []
+editIdea name = enterInformation (name +++ " add your idea
s
") []
>>= \idea . return {name = name, idea = idea}
>>= \idea . return {name = name, idea = idea}
-mainTask = doIdentified editIdea >>= viewInformation "The result" []
+mainTask = doIdentified editIdea >>= viewInformation "The result" [
+ ViewWith (\x=:{name,idea}.{x & idea=[name:fideas idea]})]
+ where
+ //Format the indices and the ideas
+ fideas i = map (\(x,y).toString (x+1) +++ ": " +++ y) (filt i)
+ //Filter the ideas on length and add indices
+ filt i = zip2 (indexList i) (filter (\x.size x > 10) i)
Start :: *World -> *World
Start world = startEngine mainTask world
Start :: *World -> *World
Start world = startEngine mainTask world