diff tests/filter.ur @ 904:6d9538ce94d8

Fix type class resolution infinite loop, discovered while meeting with Ezra
author Adam Chlipala <adamc@hcoop.net>
date Thu, 06 Aug 2009 15:23:04 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/filter.ur	Thu Aug 06 15:23:04 2009 -0400
@@ -0,0 +1,9 @@
+fun filter [fs ::: {Type}] [ks] (t : sql_table fs ks) (p : sql_exp [T = fs] [] [] bool)
+   : sql_query [T = fs] [] =
+   (SELECT * FROM t WHERE {p})
+
+table t : { A : int, B : float }
+
+fun main () =
+    queryX (filter t (WHERE t.A > 3))
+           (fn r => <xml>{[r.T.A]}, {[r.T.B]}</xml>)