Mercurial > urweb
view tests/rpcDE.ur @ 983:2cd8c1aa0d3a
Add tail call optimization to interpretation
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 24 Sep 2009 15:45:37 -0400 |
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