diff demo/more/versioned1.ur @ 995:166ea3944b91

Versioned1 demo working
author Adam Chlipala <adamc@hcoop.net>
date Tue, 06 Oct 2009 17:36:45 -0400
parents 10114d7b7477
children e6bc6bbd7a32
line wrap: on
line diff
--- a/demo/more/versioned1.ur	Tue Oct 06 15:59:11 2009 -0400
+++ b/demo/more/versioned1.ur	Tue Oct 06 17:36:45 2009 -0400
@@ -9,6 +9,18 @@
                                                 Eq = _}}
                     end)
 
+fun retro vr =
+    ks <- keysAt vr;
+    ks <- List.mapM (fn r => fso <- archive vr r; return (r.Id, fso)) ks;
+
+    return <xml><body>
+      {List.mapX (fn (k, r) => <xml><li>
+        {[k]}: {case r of
+                    None => <xml>Whoa!</xml>
+                  | Some r => <xml>{[r.Nam]}, {[r.ShoeSize]}</xml>}
+      </li></xml>) ks}
+    </body></xml>
+
 fun expandKey k =
     name <- source "";
     shoeSize <- source "";
@@ -23,6 +35,8 @@
     name <- source "";
     shoeSize <- source "";
 
+    times <- updateTimes;
+
     return <xml><body>
       <dyn signal={ks <- signal ks;
                    return (List.mapX (fn kr => <xml><div>
@@ -59,4 +73,8 @@
                                              kr <- expandKey (readError id);
                                              set ks (kr :: cur)}/></th></tr>
       </table>
+
+      <h2>Archive</h2>
+
+      {List.mapX (fn (vr, tm) => <xml><li><a link={retro vr}>{[tm]}</a></li></xml>) times}
     </body></xml>