view demo/view.ur @ 987:6dd122f10c0c

Better location calculation for record unification error messages; infer kind arguments to module-projected variables
author Adam Chlipala <adamc@hcoop.net>
date Mon, 05 Oct 2009 16:36:38 -0400
parents 669ac5e9a69e
children c7b9a33c26c8
line wrap: on
line source
table t : { A : int }
view v = SELECT t.A AS A FROM t WHERE t.A > 7

fun list [u] (_ : fieldsOf u [A = int]) (title : string) (x : u) =
    xml <- queryX (SELECT * FROM x)
           (fn r : {X : {A : int}} => <xml><li>{[r.X.A]}</li></xml>);
    return <xml>
      <h2>{[title]}</h2>
      <ul>{xml}</ul>
    </xml>

fun main () =
    listT <- list "T" t;
    listV <- list "V" v;
    return <xml><body>
      {listT}
      {listV}
      <br/>

      <form>Insert: <textbox{#A}/> <submit action={ins}/></form>
    </body></xml>

and ins r =
    dml (INSERT INTO t (A) VALUES ({[readError r.A]}));
    main ()