diff tests/localfun.ur @ 1888:5f478ecf65e4

Identify more local definitions as functions that should be lifted to the top level, which has synergistic effects on inlining later
author Adam Chlipala <adam@chlipala.net>
date Tue, 05 Nov 2013 11:58:52 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/localfun.ur	Tue Nov 05 11:58:52 2013 -0500
@@ -0,0 +1,191 @@
+fun boom s =
+    let
+        val bonk =
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s
+
+        val boonk = fn () =>
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s
+
+        fun booonk () =
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s;
+            debug s
+    in
+        bonk; bonk; boonk (); boonk (); booonk (); booonk ()
+    end
+
+fun main () : transaction page =
+    boom "test";
+    return <xml/>