summaryrefslogtreecommitdiff
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
commit39d53ff26b1db70d260201cbb2b21d2a739a74b1 (patch)
treec54594176882d7af9f080be01b96b084bd8b7434 /demo/view.ur
parent4d388db17b657a571f03540123683756b0875c5a (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 ()