Mercurial > urweb
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> |