aboutsummaryrefslogtreecommitdiffhomepage
path: root/demo/more/versioned1.ur
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-10-06 17:36:45 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-10-06 17:36:45 -0400
commitf0999e0e7b8ae0f3e0ac622d4d70e8a1da61f47e (patch)
treeb83f18305aa8814ca95cf3a7e6a8829f789d8380 /demo/more/versioned1.ur
parent82ed38468f5da48ce6e9f6ec336cf5b11ca4bb4d (diff)
Versioned1 demo working
Diffstat (limited to 'demo/more/versioned1.ur')
-rw-r--r--demo/more/versioned1.ur18
1 files changed, 18 insertions, 0 deletions
diff --git a/demo/more/versioned1.ur b/demo/more/versioned1.ur
index 506d2778..592af3cf 100644
--- a/demo/more/versioned1.ur
+++ b/demo/more/versioned1.ur
@@ -9,6 +9,18 @@ open Versioned.Make(struct
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 @@ fun main () =
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 @@ fun main () =
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>