Mercurial > urweb
view tests/rpcDE.ur @ 1505:8c851e5508a7
Tutorial: up to First-Class Polymorphism
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sun, 17 Jul 2011 11:00:04 -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