/**************** Compiling this program gives: ... mid-il DFA: cpu = 0.000 seconds, gc = 0.000 seconds, 4 nodes, 3 visits, 1 iterations low-il DFA: cpu = 0.000 seconds, gc = 0.000 seconds, 3 nodes, 2 visits, 1 iterations low-il DFA: cpu = 0.000 seconds, gc = 0.000 seconds, 3 nodes, 2 visits, 1 iterations low-il DFA: cpu = 0.000 seconds, gc = 0.000 seconds, 18 nodes, 17 visits, 1 iterations low-il DFA: cpu = 0.000 seconds, gc = 0.000 seconds, 4 nodes, 3 visits, 1 iterations uncaught exception Fail [Fail: no output specified for strand sqroot] raised at common/phase-timer.sml:76.50-76.52 raised at common/phase-timer.sml:76.50-76.52 raised at c-target/c-target.sml:151.37-151.83 This should be caught as an error during typechecking. ****************/ real eps = 1.0; strand sqroot(real val) { real root = val; update { root = (root + val/root)/2; if (|root^2 - val|/val < eps) stabilize; } } // Strand initialization initially { sqroot(i) | i in 1..1000 };