view tests/filter.ur @ 1513:5616b2cbdcdb

Tutorial: hyperlinks for metaprogramming and row types
author Adam Chlipala <adam@chlipala.net>
date Wed, 20 Jul 2011 08:14:49 -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>)