view tests/rpcDD.ur @ 1946:f1485ed65d6c

Avoid some spurious error messages about link/form incompatibility; change the text of that error message to include RPC handlers
author Adam Chlipala <adam@chlipala.net>
date Sun, 29 Dec 2013 10:29:26 -0500
parents 63b0bcacd535
children
line wrap: on
line source
datatype list t = Nil | OtherNil | Cons of t * list t

table t : {A : int}

fun main () : transaction page =
    let
        fun rows () =
            query (SELECT * FROM t)
            (fn r ls => return (Cons (r.T.A, ls)))
            Nil

        fun show ls =
            case ls of
                Nil => <xml/>
              | OtherNil => <xml>That's impossible!</xml>
              | Cons (x, ls') => <xml>{[x]}<br/>{show ls'}</xml>
    in
        s <- source Nil;
        return <xml><body>
          <button value="Get It On!"
                  onclick={ls <- rows ();
                           set s ls}/><br/>
          <br/>
          Current: <dyn signal={ls <- signal s; return (show ls)}/>
        </body></xml>
    end