update
[mTask.git] / miTask.icl
index ab37901..62b6ce1 100644 (file)
@@ -3,7 +3,6 @@ module miTask
 import StdDebug, StdMisc
 
 from Text import class Text(concat,join,split), instance Text String
-from Control.Monad import mapM
 
 import iTasks
 import mTask
@@ -12,10 +11,10 @@ derive class iTask MTaskMessage
 
 Start :: *World -> *World
 Start world = startEngine (
-       withShared ([], False, [], False) (\ch->
-               enterInformation "Port Number?" [] >>= \port->mTaskTask port ch
-       )) world
-//Start world = startEngine mTaskTask world
+       enterInformation "Port Number?" []
+       >>= \port->withShared ([], False, [], False) (mTaskTask port)
+       ) world
+Start world = startEngine mTaskTask world
 
 mTaskTask :: Int (Shared ([MTaskMessage],Bool,[MTaskMessage],Bool)) -> Task ()
 mTaskTask port ch =
@@ -32,13 +31,20 @@ mTaskTask port ch =
                                f [MTEmpty:xs] = f xs
                                f [x:xs] = [toString x:f xs]
 
-               msgs = toMessages 500 (toRealByteCode (unMain bc))
+               msgs
+               | not (trace_tn (fst (toReadableByteCode (unMain bc)))) = undef
+               = toMessages 500 (toRealByteCode (unMain bc))
 
                bc :: Main (ByteCode Int Stmt)
-               bc = sds \x=0 In {main = x =. x +. lit 1 :. pub x}
+               bc = sds \x=1 In {main =
+                       If (x ==. lit 3)
+                       (x =. lit 1)
+                       (x =. x +. lit 1) :. pub x}
 
 sendMsg :: [MTaskMessage] (Shared ([MTaskMessage],Bool,[MTaskMessage],Bool)) -> Task ()
-sendMsg m ch = upd (\(r,rs,s,ss)->(r,rs,s ++ m,ss)) ch @! ()
+sendMsg m ch
+| not (trace_tn (join "\n" (map (toString o toJSON) m))) = undef
+= upd (\(r,rs,s,ss)->(r,rs,s ++ m,ss)) ch @! ()
 
 syncNetworkChannel :: String Int String (String -> m) (n -> String) (Shared ([m],Bool,[n],Bool)) -> Task () | iTask m & iTask n
 syncNetworkChannel server port msgSeparator decodeFun encodeFun channel