Mercurial > urweb
view tests/goodbye.ur @ 1813:4c61bb7acb9b
Minor js optimizations.
* flatten() now uses accumulator and join.
* reuse regexps instead of allocating new each time
author | Vladimir Shabanov <vshabanoff@gmail.com> |
---|---|
date | Thu, 30 Aug 2012 17:58:37 +0400 |
parents | c05e2e4bdde7 |
children |
line wrap: on
line source
table boo : { Client : client, Channel : channel unit } fun doIt () = me <- self; ch <- channel; dml (INSERT INTO boo (Client, Channel) VALUES ({[me]}, {[ch]})); return <xml><body onload={let fun loop () = v <- recv ch; alert "Someone left"; loop () in loop () end}/></xml> task clientLeaves = fn cl => debug "Client left"; dml (DELETE FROM boo WHERE Client = {[cl]}); queryI (SELECT (boo.Channel) FROM boo) (fn r => send r.1 ()); debug "Done processing" fun main () = return <xml><body> <form> <submit action={doIt}/> </form> </body></xml>