Mercurial > urweb
diff tests/query.lac @ 243:2b9dfaffb008
Transactions and queries, at source level
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 28 Aug 2008 14:48:33 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/query.lac Thu Aug 28 14:48:33 2008 -0400 @@ -0,0 +1,16 @@ +table t1 : {A : int, B : string, C : float} +table t2 : {A : float, D : int} + +datatype list a = Nil | Cons of a * list a + +val q1 = (SELECT * FROM t1) +val r1 : transaction (list {A : int, B : string, C : float}) = + query q1 + (fn fs _ acc => return (Cons (fs.T1, acc))) + Nil + +val r2 : transaction int = + ls <- r1; + return (case ls of + Nil => 0 + | Cons ({A = a, ...}, _) => a)