view demo/ref.ur @ 1886:b7cd3c7c7edd

Interpret 'table' signature items more flexibly, automatically adding (Ur) constraints to support a kind of subtyping over (SQL) constraint sets
author Adam Chlipala <adam@chlipala.net>
date Mon, 04 Nov 2013 15:14:23 -0500
parents 5819fb63c93a
children
line wrap: on
line source
structure IR = RefFun.Make(struct
                               type data = int
                           end)

structure SR = RefFun.Make(struct
                               type data = string
                           end)

fun mutate () =
    ir <- IR.new 3;
    ir' <- IR.new 7;
    sr <- SR.new "hi";

    IR.write ir' 10;

    iv <- IR.read ir;
    iv' <- IR.read ir';
    sv <- SR.read sr;

    IR.delete ir;
    IR.delete ir';
    SR.delete sr;

    return <xml><body>
      {[iv]}, {[iv']}, {[sv]}
    </body></xml>

fun main () = return <xml><body>
  <form><submit action={mutate} value="Do some pointless stuff"/></form>
</body></xml>