annotate tests/stypes.ur @ 586:1c969230ee7f

Reactive bool
author Adam Chlipala <adamc@hcoop.net>
date Thu, 01 Jan 2009 11:13:08 -0500
parents 35471f067980
children 4c899701bd28
rev   line source
adamc@582 1 fun main () : transaction page =
adamc@582 2 sInt <- source 0;
adamc@583 3 sFloat <- source 1.23;
adamc@583 4 sBoth <- source (7, 42.1);
adamc@583 5
adamc@583 6 sOpt <- source None;
adamc@586 7 sBool <- source True;
adamc@583 8
adamc@582 9 return <xml><body>
adamc@583 10 <dyn signal={n <- signal sInt; return <xml>{[n + 3]}</xml>}/> <a onclick={set sInt 1}>Change</a><br/>
adamc@583 11
adamc@583 12 <dyn signal={n <- signal sFloat; return <xml>{[n + 1.0]}</xml>}/> <a onclick={set sFloat 4.56}>Change</a><br/>
adamc@583 13
adamc@585 14 <dyn signal={p <- signal sBoth; return <xml>{[p.1]}, {[p.2]}</xml>}/>;
adamc@585 15 <dyn signal={p <- signal sBoth; case p of
adamc@585 16 (7, _) => return <xml>Initial</xml>
adamc@585 17 | (fst, snd) => return <xml>{[fst]}, {[snd]}</xml>}/>
adamc@585 18 <a onclick={set sBoth (8, 100.001)}>Change</a><br/>
adamc@584 19
adamc@584 20 <dyn signal={o <- signal sOpt; case o of
adamc@584 21 None => return <xml>None</xml>
adamc@584 22 | Some n => return <xml>{[n]}</xml>}/>
adamc@584 23 <a onclick={set sOpt (Some 7)}>Change</a><br/>
adamc@586 24
adamc@586 25 <dyn signal={b <- signal sBool; return <xml>{[b]}</xml>}/> <a onclick={set sBool False}>Change</a><br/>
adamc@582 26 </body></xml>