annotate tests/jscomp.ur @ 974:b851675a2c3d

Compiled an 'option' pattern-match
author Adam Chlipala <adamc@hcoop.net>
date Tue, 22 Sep 2009 14:15:29 -0400
parents e30c2409c9d0
children 8fe576c0bee9
rev   line source
adamc@973 1 fun fst [a] [b] (x : a) (y : b) = x
adamc@973 2 fun snd [a] [b] (x : a) (y : b) = y
adamc@973 3
adamc@974 4 fun fact n =
adamc@974 5 case n of
adamc@974 6 0 => 1
adamc@974 7 | _ => n * fact (n - 1)
adamc@974 8
adamc@971 9 fun main () =
adamc@971 10 s <- source "";
adamc@973 11 s' <- source "";
adamc@973 12 f <- source (plus 1);
adamc@973 13 f2 <- source fst;
adamc@973 14 r <- source {A = "x", B = "y"};
adamc@971 15
adamc@971 16 return <xml><body>
adamc@973 17 <ctextbox source={s}/> <ctextbox source={s'}/><br/><br/>
adamc@972 18
adamc@972 19 Function: <button value="+1" onclick={set f (plus 1)}/>
adamc@972 20 <button value="*3" onclick={set f (times 3)}/><br/><br/>
adamc@971 21
adamc@973 22 Function2: <button value="Fst" onclick={set f2 fst}/>
adamc@973 23 <button value="Snd" onclick={set f2 snd}/><br/><br/>
adamc@973 24
adamc@971 25 <button value="Echo" onclick={s <- get s; alert s}/>
adamc@973 26 <button value="-" onclick={s <- get s; alert (show (-(readError s : int)))}/>
adamc@971 27 <button value="+1" onclick={s <- get s; alert (show (readError s + 1))}/>
adamc@971 28 <button value="*3" onclick={s <- get s; alert (show ((readError s) * 3))}/>
adamc@974 29 <button value="!" onclick={s <- get s; alert (show (fact (readError s)))}/>
adamc@974 30 <button value="f" onclick={s <- get s; f <- get f; alert (show (f (readError s)))}/>
adamc@974 31 <button value="+1P" onclick={s <- get s; case read s of
adamc@974 32 None => alert "Nada!"
adamc@974 33 | Some (n : int) => alert (show (n + 1))}/>
adamc@973 34
adamc@973 35 <button value="f2" onclick={s <- get s; s' <- get s'; f2 <- get f2; alert (f2 s s')}/><br/><br/>
adamc@973 36
adamc@973 37 <button value="A" onclick={r <- get r; alert r.A}/>
adamc@973 38 <button value="B" onclick={r <- get r; alert r.B}/>
adamc@971 39 </body></xml>