diff src/mono_reduce.sml @ 1663:0577be31a435

First part of changes to avoid depending on C function call argument order of evaluation (omitting normal Ur function calls, so far)
author Adam Chlipala <adam@chlipala.net>
date Sat, 07 Jan 2012 15:56:22 -0500
parents 4437b008e0ab
children 62c18ecbfec4
line wrap: on
line diff
--- a/src/mono_reduce.sml	Sat Jan 07 11:01:21 2012 -0500
+++ b/src/mono_reduce.sml	Sat Jan 07 15:56:22 2012 -0500
@@ -390,20 +390,20 @@
                       | ENone _ => []
                       | ESome (_, e) => summarize d e
                       | EFfi _ => []
-                      | EFfiApp ("Basis", "get_cookie", [e]) =>
+                      | EFfiApp ("Basis", "get_cookie", [(e, _)]) =>
                         summarize d e @ [ReadCookie]
                       | EFfiApp ("Basis", "set_cookie", es) =>
-                        List.concat (map (summarize d) es) @ [WriteCookie]
+                        List.concat (map (summarize d o #1) es) @ [WriteCookie]
                       | EFfiApp ("Basis", "clear_cookie", es) =>
-                        List.concat (map (summarize d) es) @ [WriteCookie]
+                        List.concat (map (summarize d o #1) es) @ [WriteCookie]
                       | EFfiApp (m, x, es) =>
                         if Settings.isEffectful (m, x) orelse Settings.isBenignEffectful (m, x) then
-                            List.concat (map (summarize d) es) @ [if m = "Basis" andalso String.isSuffix "_w" x then
-                                                                      WritePage
-                                                                  else
-                                                                      Unsure]
+                            List.concat (map (summarize d o #1) es) @ [if m = "Basis" andalso String.isSuffix "_w" x then
+                                                                           WritePage
+                                                                       else
+                                                                           Unsure]
                         else
-                            List.concat (map (summarize d) es)
+                            List.concat (map (summarize d o #1) es)
                       | EApp ((EFfi _, _), e) => summarize d e
                       | EApp _ =>
                         let