Mercurial > urweb
view tests/nested.ur @ 2195:18e6fb487880
Reduce: add reduction in some spots previously missed, associated with 'case' return types
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Wed, 25 Nov 2015 18:48:17 -0500 |
parents | 8e9f2d247dba |
children |
line wrap: on
line source
table t : {A : int, B : int} fun init () = dml (DELETE FROM t WHERE TRUE); dml (INSERT INTO t (A, B) VALUES (1, 2)); dml (INSERT INTO t (A, B) VALUES (2, 3)) fun easy () = queryX' (SELECT MAX(t.A) AS M FROM t) (fn r => queryX (SELECT * FROM t WHERE t.A = {[r.M]}) (fn r => <xml>({[r.T.A]}, {[r.T.B]})</xml>)) fun hard id = queryX' (SELECT t.B AS N FROM t WHERE t.A = {[id]}) (fn r => b <- hard r.N; return <xml>({[id]}, {[r.N]}); {b}</xml>) fun doit () = init (); b1 <- easy (); b2 <- hard 1; return <xml><body> {b1}<br/> {b2} </body></xml> fun main () = return <xml><body><form><submit action={doit}/></form></body></xml>