view demo/ref.ur @ 1455:913d9c2f55c9

Corify Basis.unit to empty record; this is needed so that specialize can see that they are equivalent.
author Karn Kallio <kkallio@eka>
date Fri, 06 May 2011 16:24:45 -0430
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>