+Start world = startEngine (
+ 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 =
+ syncNetworkChannel "localhost" port "\n" decode encode ch ||-
+ (
+ sendMsg msgs ch >>= \_->
+ viewSharedInformation "channels" [ViewWith lens] ch @! ()
+ ) >>* [OnAction ActionFinish (always shutDown)]
+ where
+ lens :: ([MTaskMessage],Bool,[MTaskMessage],Bool) -> ([String], [String])
+ lens (r,_,s,_) = (f r, f s)
+ where
+ f [] = []
+ f [MTEmpty:xs] = f xs
+ f [x:xs] = [toString x:f xs]
+
+ msgs = toMessages 500 (toRealByteCode (unMain bc))