aboutsummaryrefslogtreecommitdiffhomepage
path: root/demo/view.ur
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-05-03 15:13:00 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-05-03 15:13:00 -0400
commit92df298250032469bab59565aa4e23a86b4a6e9a (patch)
treec54594176882d7af9f080be01b96b084bd8b7434 /demo/view.ur
parente1618fb012b5926889d80893c9ac4ce08838519d (diff)
view demo
Diffstat (limited to 'demo/view.ur')
-rw-r--r--demo/view.ur25
1 files changed, 25 insertions, 0 deletions
diff --git a/demo/view.ur b/demo/view.ur
new file mode 100644
index 00000000..ce1242e0
--- /dev/null
+++ b/demo/view.ur
@@ -0,0 +1,25 @@
+table t : { A : int }
+view v = SELECT t.A AS A FROM t WHERE t.A > 7
+
+fun list (u ::: Type) (_ : fieldsOf u [A = int]) (title : string) (x : u) =
+ xml <- queryX (SELECT * FROM x)
+ (fn r : {X : {A : int}} => <xml><li>{[r.X.A]}</li></xml>);
+ return <xml>
+ <h2>{[title]}</h2>
+ <ul>{xml}</ul>
+ </xml>
+
+fun main () =
+ listT <- list "T" t;
+ listV <- list "V" v;
+ return <xml><body>
+ {listT}
+ {listV}
+ <br/>
+
+ <form>Insert: <textbox{#A}/> <submit action={ins}/></form>
+ </body></xml>
+
+and ins r =
+ dml (INSERT INTO t (A) VALUES ({[readError r.A]}));
+ main ()