view tests/rpc2.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 c5991cdb0c4b
children
line wrap: on
line source
sequence s
sequence s2

fun dint src = n <- signal src; return <xml>{[n]}</xml>

fun main () : transaction page =
    let
        fun getNext () =
            n <- nextval s;
            n2 <- nextval s2;
            return (n, n2)
    in
        src1 <- source 0;
        src2 <- source 0;
        return <xml><body>
          <button value="Get It On!"
                  onclick={p <- getNext ();
                           case p of
                               (n1, n2) => set src1 n1;
                                           set src2 n2}/>
          <br/>
          Current1: <dyn signal={dint src1}/>
          Current2: <dyn signal={dint src2}/>
        </body></xml>
    end