adam@1942: table t : { Ch : channel string } adam@1942: adam@1942: fun go () = adam@1942: let adam@1942: fun overwrite () = adam@1942: dml (DELETE FROM t WHERE TRUE); adam@1942: ch <- channel; adam@1942: dml (INSERT INTO t (Ch) VALUES ({[ch]})); adam@1942: return ch adam@1942: adam@1942: fun retrieve () = adam@1942: oneRowE1 (SELECT (t.Ch) FROM t) adam@1942: adam@1942: fun transmit () = adam@1942: ch <- retrieve (); adam@1942: send ch "Test" adam@1942: adam@1942: fun listenOn ch = adam@1942: s <- recv ch; adam@1942: alert s adam@1942: in adam@1942: ch <- overwrite (); adam@1942: return adam@1942: