Mercurial > urweb
annotate tests/query.ur @ 251:326fb4686f60
Monoize transaction identifiers; improve disjointness prover on irreducible folds; change 'query' type
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 31 Aug 2008 10:36:54 -0400 |
parents | b6b75e6e0898 |
children | 7f6620853c36 |
rev | line source |
---|---|
adamc@243 | 1 table t1 : {A : int, B : string, C : float} |
adamc@243 | 2 table t2 : {A : float, D : int} |
adamc@243 | 3 |
adamc@243 | 4 datatype list a = Nil | Cons of a * list a |
adamc@243 | 5 |
adamc@243 | 6 val q1 = (SELECT * FROM t1) |
adamc@243 | 7 val r1 : transaction (list {A : int, B : string, C : float}) = |
adamc@243 | 8 query q1 |
adamc@251 | 9 (fn fs acc => return (Cons (fs.T1, acc))) |
adamc@243 | 10 Nil |
adamc@243 | 11 |
adamc@249 | 12 val r2 : transaction string = |
adamc@243 | 13 ls <- r1; |
adamc@243 | 14 return (case ls of |
adamc@249 | 15 Nil => "Problem" |
adamc@249 | 16 | Cons ({B = b, ...}, _) => b) |
adamc@249 | 17 |
adamc@249 | 18 val main : unit -> transaction page = fn () => |
adamc@249 | 19 s <- r2; |
adamc@249 | 20 return <html><body> |
adamc@249 | 21 {cdata s} |
adamc@249 | 22 </body></html> |