t/m 5.3 af
[ap2015.git] / a5 / mart / a5.icl
1 module a5
2
3 /*
4 Mart Lubbers s4109503
5 Charlie Gerhardus s3050009
6 */
7
8 import iTasks
9 import Text // To check string length
10
11 :: Idea = {idea :: String, details :: Maybe Note, user :: Name, number :: Int}
12 :: Name:== String
13
14 derive class iTask Idea // generic magic
15
16 ideas :: Shared [Idea]
17 ideas = sharedStore "Ideas" []
18
19 addNewIdea :: Task [Idea]
20 addNewIdea = enterInformation "New idea" []
21 >>* [OnAction ActionOk (hasValue (\v -> return v))]
22 >>= \n.upd (\is.[n:is]) ideas
23
24 mainTask = forever (
25 addNewIdea
26 -||-
27 viewSharedInformation "Gathere ideas" [] ideas
28 )
29
30
31 Start :: *World -> *World
32 Start world = startEngine mainTask world