module test
-//
-//import Data.Func, StdFunctions, iTasks
-//
-//derive gDefault ChoiceNode
-//
-//Start w = flip doTasks w $
-// withShared 5 \sharedInt->
-// withShared [] \sharedSel->
-// (editSharedSelectionWithShared
-// [SelectInTree
-// (\l->[{defaultValue & id=i,label=toString i}\\i<-[0..l]])
-// (\_ s->s)
-// ] sharedInt sharedSel <<@ Title "Selection" <<@ multipleAttr False)
-// -|| (updateSharedInformation [] sharedInt <<@ Title "Number of items")
-// -|| (updateSharedInformation [] sharedSel <<@ Title "Current selection")
-// >&> \sh->(viewSharedInformation [] (mapRead toSingleLineText sh) <<@ Title "Current task value" )
-//
-//from Data.Map import singleton
-//import Data.Map.GenJSON
-//import iTasks
-//
-//Start w = doTasks t w
-//
-//t :: Task [(Int, TaskValue Int)]
-//t = parallel
-// [(Embedded, \stl->
-// appendTask Embedded (\_->viewInformation [] 42) stl
-// >>! \i->set (singleton "focus" (JSONBool True)) (sdsFocus i (taskListEntryMeta stl))
-// >>~ \_->viewSharedInformation []
-// (sdsFocus {onlyIndex=Nothing,onlyTaskId=Nothing,onlySelf=False,includeValue=True,includeProgress=True,includeAttributes=True} stl)
-// @! 42
-// )] []
-//import iTasks
-//Start w = doTasks t w
-//where
-// t = viewInformation [ViewUsing id progressBar] (Just 80, Just long) <<@ Title "bork"
-// long = "borkueaohutenhuaostuehasunethuaosnuhtesuhaotsuehtausneohtusoauhtesauhtesnuhtasuhetauhosunehtoauesnhtaueshautesnhutaonsuhetaonsuhetansuhetansuhetaosnuehtaosnuhetaosunhaoetsunehatounsoehtasunhteunaoshuteoasnuhteaosuhnaoetsnuheotasunehotasunhetusnahotueaou"
+import StdEnv
+from Data.Func import $
+import System.Directory
+import System.Time
+:: S s a = S .(s -> *(a, s))
+runS (S s) = s
-import iTasks
+(>>=) infixl 1 :: u:(S .a .b) v:(.b -> .(S .a .c)) -> w:(S .a .c), [w <= u,w <= v]
+(>>=) ma a2mb = S \s
+ # (a, s) = runS ma s
+ = runS (a2mb a) s
-:: R = { x :: !String, y :: !String }
-derive class iTask R
-
-Start w = doTasks (t -&&- u) w
-
-t = updateSharedInformation
- [ UpdateSharedAs
- (\r -> r.x)
- (\r x -> {r & x=x})
- const
- ] s
-u = updateSharedInformation [] s
-
-s = sharedStore "x" {x="",y=""}
+Start world = flip runS world
+ $ (S time)
+ >>= \_->S (readDirectory "/home/mrl")