annotate tests/rpcDE.ur @ 1222:117f13bdc1fd

Express all query outputs using record literals
author Adam Chlipala <adamc@hcoop.net>
date Sun, 11 Apr 2010 12:45:15 -0400
parents 3ee6bb48f6e8
children
rev   line source
adamc@638 1 datatype result = Neg | Zero | Pos
adamc@638 2
adamc@638 3 table t : {A : int}
adamc@638 4
adamc@638 5 fun main () : transaction page =
adamc@638 6 let
adamc@638 7 fun check () =
adamc@638 8 r <- oneRow (SELECT SUM(t.A) AS X FROM t);
adamc@638 9 return (if r.X < 0 then
adamc@638 10 Neg
adamc@638 11 else if r.X = 0 then
adamc@638 12 Zero
adamc@638 13 else
adamc@638 14 Pos)
adamc@638 15
adamc@638 16 fun show r =
adamc@638 17 case r of
adamc@638 18 Neg => <xml>-</xml>
adamc@638 19 | Zero => <xml>0</xml>
adamc@638 20 | Pos => <xml>+</xml>
adamc@638 21 in
adamc@638 22 s <- source Zero;
adamc@638 23 return <xml><body>
adamc@638 24 <button value="Get It On!"
adamc@638 25 onclick={r <- check ();
adamc@638 26 set s r}/><br/>
adamc@638 27 <br/>
adamc@638 28 Current: <dyn signal={r <- signal s; return (show r)}/>
adamc@638 29 </body></xml>
adamc@638 30 end