state e: SYM-> ANY; server <- channel("server"); chan = []; ch(str)=if(str in dom(chan) -> chan[str]; else -> do( chan <- chan + [str->channel(str)], chan[str]) ); func env( id : SYM) : ANY returns e[id]; func setenv( id:SYM, v:ANY) state e <- e + [id -> v] returns {}; = em obras func waitingfor() state foreach(x in dom ):SYM =cut FUNC serv() : STATE let (m = receive(server) ) in if (m is- -> if( com is- -> if(c=='waitfor -> send(ch(retto),eval(com) ) ) ) RETURNS serv();