view tests/filter.ur @ 2049:459ccbf8cd08

When unifying constructor-level unification variables, also unify their kinds
author Adam Chlipala <adam@chlipala.net>
date Fri, 01 Aug 2014 16:11:36 -0400
parents 6d9538ce94d8
children
line wrap: on
line source
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>)