adamc@243: table t1 : {A : int, B : string, C : float} adamc@243: table t2 : {A : float, D : int} adamc@243: adamc@243: datatype list a = Nil | Cons of a * list a adamc@243: adamc@243: val q1 = (SELECT * FROM t1) adamc@243: val r1 : transaction (list {A : int, B : string, C : float}) = adamc@243: query q1 adamc@243: (fn fs _ acc => return (Cons (fs.T1, acc))) adamc@243: Nil adamc@243: adamc@243: val r2 : transaction int = adamc@243: ls <- r1; adamc@243: return (case ls of adamc@243: Nil => 0 adamc@243: | Cons ({A = a, ...}, _) => a)