Mercurial > urweb
annotate demo/view.ur @ 1018:9304474170ed
Extend Fuse to work on non-recursive functions
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 25 Oct 2009 13:02:13 -0400 |
parents | 669ac5e9a69e |
children | c7b9a33c26c8 |
rev | line source |
---|---|
adamc@778 | 1 table t : { A : int } |
adamc@778 | 2 view v = SELECT t.A AS A FROM t WHERE t.A > 7 |
adamc@778 | 3 |
adamc@823 | 4 fun list [u] (_ : fieldsOf u [A = int]) (title : string) (x : u) = |
adamc@778 | 5 xml <- queryX (SELECT * FROM x) |
adamc@778 | 6 (fn r : {X : {A : int}} => <xml><li>{[r.X.A]}</li></xml>); |
adamc@778 | 7 return <xml> |
adamc@778 | 8 <h2>{[title]}</h2> |
adamc@778 | 9 <ul>{xml}</ul> |
adamc@778 | 10 </xml> |
adamc@778 | 11 |
adamc@778 | 12 fun main () = |
adamc@778 | 13 listT <- list "T" t; |
adamc@778 | 14 listV <- list "V" v; |
adamc@778 | 15 return <xml><body> |
adamc@778 | 16 {listT} |
adamc@778 | 17 {listV} |
adamc@778 | 18 <br/> |
adamc@778 | 19 |
adamc@778 | 20 <form>Insert: <textbox{#A}/> <submit action={ins}/></form> |
adamc@778 | 21 </body></xml> |
adamc@778 | 22 |
adamc@778 | 23 and ins r = |
adamc@778 | 24 dml (INSERT INTO t (A) VALUES ({[readError r.A]})); |
adamc@778 | 25 main () |