Mercurial > urweb
annotate demo/view.ur @ 1884:5c30eea7aa78
ListPair.map2, based on code by escalier@riseup.net
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sun, 03 Nov 2013 19:27:30 -0500 |
parents | c7b9a33c26c8 |
children |
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 |
adam@1303 | 4 fun list [u] (_ : fieldsOf u [A = int]) (title : string) (x : u) : transaction xbody = |
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 () |