view tests/filter.ur @ 1079:d069b193ed6b

Especialize uses a termination measure based on number of arguments introduced
author Adam Chlipala <adamc@hcoop.net>
date Tue, 15 Dec 2009 19:26:52 -0500
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>)