From 20fe6fd5bb27486a7f3483ead05061e967c5a105 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sat, 5 Dec 2009 14:01:34 -0500 Subject: Represent FFI function names as strings, to deal with cross-file recursion --- src/jscomp.sml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'src/jscomp.sml') diff --git a/src/jscomp.sml b/src/jscomp.sml index 8b946b39..4be870cb 100644 --- a/src/jscomp.sml +++ b/src/jscomp.sml @@ -657,7 +657,7 @@ fun process file = end) (str "null", st) args in - (strcat [str ("{c:\"f\",f:" ^ name ^ ",a:"), + (strcat [str ("{c:\"f\",f:\"" ^ name ^ "\",a:"), e, str "}"], st) @@ -692,7 +692,7 @@ fun process file = val (e, st) = jsE inner (e, st) in - (strcat [str ("{c:\"f\",f:" ^ name ^ ",a:cons("), + (strcat [str ("{c:\"f\",f:\"" ^ name ^ "\",a:cons("), e, str ",null)}"], st) @@ -715,7 +715,7 @@ fun process file = val (e1, st) = jsE inner (e1, st) val (e2, st) = jsE inner (e2, st) in - (strcat [str ("{c:\"f\",f:" ^ name ^ ",a:cons("), + (strcat [str ("{c:\"f\",f:\"" ^ name ^ "\",a:cons("), e1, str ",cons(", e2, @@ -819,14 +819,14 @@ fun process file = val (e1, st) = jsE inner (e1, st) val (e2, st) = jsE inner (e2, st) in - (strcat [str "{c:\"f\",f:cat,a:cons(", e1, str ",cons(", e2, str ",null))}"], st) + (strcat [str "{c:\"f\",f:\"cat\",a:cons(", e1, str ",cons(", e2, str ",null))}"], st) end | EError (e, _) => let val (e, st) = jsE inner (e, st) in - (strcat [str "{c:\"f\",f:er,a:cons(", e, str ",null)}"], + (strcat [str "{c:\"f\",f:\"er\",a:cons(", e, str ",null)}"], st) end @@ -875,7 +875,7 @@ fun process file = let val (e, st) = jsE inner (e, st) in - (strcat [str "{c:\"f\",f:sr,a:cons(", + (strcat [str "{c:\"f\",f:\"sr\",a:cons(", e, str ",null)}"], st) @@ -885,7 +885,7 @@ fun process file = val (e1, st) = jsE inner (e1, st) val (e2, st) = jsE inner (e2, st) in - (strcat [str "{c:\"f\",f:sb,a:cons(", + (strcat [str "{c:\"f\",f:\"sb\",a:cons(", e1, str ",cons(", e2, @@ -896,7 +896,7 @@ fun process file = let val (e, st) = jsE inner (e, st) in - (strcat [str "{c:\"f\",f:ss,a:cons(", + (strcat [str "{c:\"f\",f:\"ss\",a:cons(", e, str ",null)}"], st) @@ -907,7 +907,7 @@ fun process file = val (e, st) = jsE inner (e, st) val (unurl, st) = unurlifyExp loc (t, st) in - (strcat [str ("{c:\"f\",f:rc,a:cons({c:\"c\",v:\"" + (strcat [str ("{c:\"f\",f:\"rc\",a:cons({c:\"c\",v:\"" ^ Settings.getUrlPrefix () ^ "\"},cons("), e, @@ -925,7 +925,7 @@ fun process file = val (e, st) = jsE inner (e, st) val (unurl, st) = unurlifyExp loc (t, st) in - (strcat [str ("{c:\"f\",f:rv,a:cons("), + (strcat [str ("{c:\"f\",f:\"rv\",a:cons("), e, str (",cons({c:\"c\",v:function(s){var t=s.split(\"/\");var i=0;return " ^ unurl ^ "}},cons({c:\"K\"},null)))}")], @@ -936,7 +936,7 @@ fun process file = let val (e, st) = jsE inner (e, st) in - (strcat [str "{c:\"f\",f:sl,a:cons(", + (strcat [str "{c:\"f\",f:\"sl\",a:cons(", e, str ",cons({c:\"K\"},null))}"], st) @@ -946,7 +946,7 @@ fun process file = let val (e, st) = jsE inner (e, st) in - (strcat [str "{c:\"f\",f:sp,a:cons(", + (strcat [str "{c:\"f\",f:\"sp\",a:cons(", e, str ",null)}"], st) -- cgit v1.2.3