Mercurial > urweb
diff tests/each.ur @ 1355:ccf1d445b794
Hopeful fix to stop Especialize infinite looping
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Tue, 21 Dec 2010 13:57:12 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/each.ur Tue Dec 21 13:57:12 2010 -0500 @@ -0,0 +1,16 @@ +sequence s +table t : { Id : int, S1 : string, S2:string, S3:string, S4:string } + +fun each (n : int, (f : unit -> transaction unit)) = if n > 0 then f (); each ((n-1),f) else return () + +fun fill () = + dml (DELETE FROM t WHERE 1=1); + each (1,( fn () => + (nv <- nextval s; + (dml (INSERT INTO t (Id, S1, S2, S3, S4) VALUES ({[nv]}, {["S1"]}, {["S2"]}, {["S3"]}, {["S4"]})))) + )); + return <xml>done</xml> + +fun main () = return <xml><body> + <form><submit action={fill} value="fill"/></form> +</body></xml>