import StdDebug, StdMisc
from Text import class Text(concat,join,split), instance Text String
-from Control.Monad import mapM
import iTasks
import mTask
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 =
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