diff tests/jscomp.ur @ 975:8fe576c0bee9

Quoting JavaScript working
author Adam Chlipala <adamc@hcoop.net>
date Tue, 22 Sep 2009 15:12:09 -0400
parents b851675a2c3d
children
line wrap: on
line diff
--- a/tests/jscomp.ur	Tue Sep 22 14:15:29 2009 -0400
+++ b/tests/jscomp.ur	Tue Sep 22 15:12:09 2009 -0400
@@ -6,12 +6,25 @@
         0 => 1
       | _ => n * fact (n - 1)
 
+datatype t =
+         A
+       | B of {C : int, D : float}
+       | E of t * t
+
+fun render x =
+    case x of
+        A => "A"
+      | B {C = n1, D = n2} => "B(" ^ show n1 ^ "," ^ show n2 ^ ")"
+      | E (x, y) => "C(" ^ render x ^ "," ^ render y ^ ")"
+
 fun main () =
     s <- source "";
     s' <- source "";
     f <- source (plus 1);
     f2 <- source fst;
     r <- source {A = "x", B = "y"};
+    t <- source (E (A, B {C = 10, D = 1.23}));
+    ht <- source <xml>Nothing here yet.</xml>;
 
     return <xml><body>
       <ctextbox source={s}/> <ctextbox source={s'}/><br/><br/>
@@ -22,7 +35,10 @@
       Function2: <button value="Fst" onclick={set f2 fst}/>
       <button value="Snd" onclick={set f2 snd}/><br/><br/>
 
+      Both: <button value="*3,Snd" onclick={set f (times 3); set f2 snd}/><br/><br/>
+
       <button value="Echo" onclick={s <- get s; alert s}/>
+      <button value="Echo2" onclick={s <- get s; alert s; alert s}/>
       <button value="-" onclick={s <- get s; alert (show (-(readError s : int)))}/>
       <button value="+1" onclick={s <- get s; alert (show (readError s + 1))}/>
       <button value="*3" onclick={s <- get s; alert (show ((readError s) * 3))}/>
@@ -35,5 +51,11 @@
       <button value="f2" onclick={s <- get s; s' <- get s'; f2 <- get f2; alert (f2 s s')}/><br/><br/>
 
       <button value="A" onclick={r <- get r; alert r.A}/>
-      <button value="B" onclick={r <- get r; alert r.B}/>
+      <button value="B" onclick={r <- get r; alert r.B}/><br/><br/>
+
+      <button value="render" onclick={t <- get t; alert (render t)}/><br/><br/>
+
+      <dyn signal={signal ht}/>
+      <button value="Set" onclick={s <- get s;
+                                   set ht <xml><button value="Dynamic!" onclick={alert s}/></xml>}/>
     </body></xml>