:: Description :== String
:: StoreID a :== String
:: *TaskResult a :== (a, TaskState)
-:: *TaskState = { console :: *File
+:: *TaskState = { console :: !*File
, store :: Map String Dynamic
}
enterInformation :: Description TaskState -> TaskResult a | iTasksLite a
enterInformation d ts=:{console}
-# (a, console) = freadline (console <<< "Enter the answer: ")
+# (a, console) = freadline (console <<< d <<< ": ")
= case parse a of
Just x = (x, {ts & console=console})
Nothing = enterInformation d {ts & console=console <<< "Wrong format, try again.\n"}
Start world
# (console, world) = stdio world
console = console <<< "Welcome to iTasksLite\n\n"
- (r, console) = eval task4 console
+ (r, console) = eval task3 console
console = console <<< "\nThe result of the task is " <<< print r <<< ".\n"
(_, world) = fclose console world
= world