Mercurial > urweb
view tests/rpcDE.ur @ 1431:4a6f84092399
Represent 'unit' as C 'int'; change pattern match compilation to avoid 'goto'; change Postgres prepared statement compilation to make life easier for the GCC escape analysis; all this in support of better tail call optimization
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Thu, 10 Mar 2011 18:51:15 -0500 |
parents | 3ee6bb48f6e8 |
children |
line wrap: on
line source
datatype result = Neg | Zero | Pos table t : {A : int} fun main () : transaction page = let fun check () = r <- oneRow (SELECT SUM(t.A) AS X FROM t); return (if r.X < 0 then Neg else if r.X = 0 then Zero else Pos) fun show r = case r of Neg => <xml>-</xml> | Zero => <xml>0</xml> | Pos => <xml>+</xml> in s <- source Zero; return <xml><body> <button value="Get It On!" onclick={r <- check (); set s r}/><br/> <br/> Current: <dyn signal={r <- signal s; return (show r)}/> </body></xml> end