view tests/treeDyn.ur @ 1639:6c00d8af6239

Add a new scoping check for unification variables, to fix a type inference bug
author Adam Chlipala <adam@chlipala.net>
date Sun, 18 Dec 2011 11:29:13 -0500
parents aa2398e58306
children
line wrap: on
line source
table t : {Id : int, Parent : option int}

fun recurse (root : option int) =
    queryX' (SELECT * FROM t WHERE {eqNullable' (SQL t.Parent) root})
            (fn r =>
                children <- recurse (Some r.T.Id);
                (*s <- source False;*)
                return <xml>
                  <dyn signal={(*v <- signal s;
                               if v then*)
                                   return <xml><b>HI</b>{children}<b>BYE</b></xml>
                               (*else
                                   return <xml/>*)}/>
                </xml>)

fun main () =
    x <- recurse None;
    return <xml><body>{x}</body></xml>