view demo/threads.ur @ 1251:70092a661f70

Basic handling of recursive functions in Iflow
author Adam Chlipala <adamc@hcoop.net>
date Sat, 01 May 2010 09:51:46 -0400
parents 755a71c99be5
children
line wrap: on
line source
fun main () =
    buf <- Buffer.create;
    let
        fun loop prefix delay =
            let
                fun loop' n =
                    Buffer.write buf (prefix ^ ": Message #" ^ show n);
                    sleep delay;
                    loop' (n + 1)
            in
                loop'
            end
    in
        return <xml><body onload={spawn (loop "A" 5000 0); spawn (loop "B" 3000 100)}>
          <dyn signal={Buffer.render buf}/>
        </body></xml>
    end