summaryrefslogtreecommitdiff
path: root/src/jscomp.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-02-15 09:27:36 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-02-15 09:27:36 -0500
commite27335a18e8f4b1cca2749e8d41863b3cbef9b62 (patch)
treece010b2988315e7b327f46f1c2b0ee9fef759f4f /src/jscomp.sml
parentf7db36644bdbde7b0ed48daffeb760bd5418bd2e (diff)
Export RPC functions and push RPC calls through to Mono
Diffstat (limited to 'src/jscomp.sml')
-rw-r--r--src/jscomp.sml4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/jscomp.sml b/src/jscomp.sml
index f61ec3f0..627ba8f6 100644
--- a/src/jscomp.sml
+++ b/src/jscomp.sml
@@ -98,6 +98,7 @@ fun varDepth (e, _) =
| ESignalReturn e => varDepth e
| ESignalBind (e1, e2) => Int.max (varDepth e1, varDepth e2)
| ESignalSource e => varDepth e
+ | EServerCall (_, es, ek) => foldl Int.max (varDepth ek) (map varDepth es)
fun closedUpto d =
let
@@ -138,6 +139,7 @@ fun closedUpto d =
| ESignalReturn e => cu inner e
| ESignalBind (e1, e2) => cu inner e1 andalso cu inner e2
| ESignalSource e => cu inner e
+ | EServerCall (_, es, ek) => List.all (cu inner) es andalso cu inner ek
in
cu 0
end
@@ -809,6 +811,8 @@ fun process file =
str ")"],
st)
end
+
+ | EServerCall _ => raise Fail "Jscomp EServerCall"
end
in
jsE