Mercurial > urweb
comparison src/mono_reduce.sml @ 608:330a7de47914
Export RPC functions and push RPC calls through to Mono
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 15 Feb 2009 09:27:36 -0500 |
parents | 7c3c21eb5b4c |
children | 56aaa1941dad |
comparison
equal
deleted
inserted
replaced
607:0dd40b6bfdf3 | 608:330a7de47914 |
---|---|
79 | EClosure (_, es) => List.exists impure es | 79 | EClosure (_, es) => List.exists impure es |
80 | EJavaScript (_, e, _) => impure e | 80 | EJavaScript (_, e, _) => impure e |
81 | ESignalReturn e => impure e | 81 | ESignalReturn e => impure e |
82 | ESignalBind (e1, e2) => impure e1 orelse impure e2 | 82 | ESignalBind (e1, e2) => impure e1 orelse impure e2 |
83 | ESignalSource e => impure e | 83 | ESignalSource e => impure e |
84 | EServerCall _ => true | |
84 | 85 |
85 | 86 |
86 val liftExpInExp = Monoize.liftExpInExp | 87 val liftExpInExp = Monoize.liftExpInExp |
87 | 88 |
88 val subExpInExp' = | 89 val subExpInExp' = |
342 | EUnurlify (e, _) => summarize d e | 343 | EUnurlify (e, _) => summarize d e |
343 | EJavaScript (_, e, _) => summarize d e | 344 | EJavaScript (_, e, _) => summarize d e |
344 | ESignalReturn e => summarize d e | 345 | ESignalReturn e => summarize d e |
345 | ESignalBind (e1, e2) => summarize d e1 @ summarize d e2 | 346 | ESignalBind (e1, e2) => summarize d e1 @ summarize d e2 |
346 | ESignalSource e => summarize d e | 347 | ESignalSource e => summarize d e |
348 | |
349 | EServerCall (_, es, ek) => List.concat (map (summarize d) es) @ summarize d ek @ [Unsure] | |
347 in | 350 in |
348 (*Print.prefaces "Summarize" | 351 (*Print.prefaces "Summarize" |
349 [("e", MonoPrint.p_exp MonoEnv.empty (e, ErrorMsg.dummySpan)), | 352 [("e", MonoPrint.p_exp MonoEnv.empty (e, ErrorMsg.dummySpan)), |
350 ("d", Print.PD.string (Int.toString d)), | 353 ("d", Print.PD.string (Int.toString d)), |
351 ("s", p_events s)];*) | 354 ("s", p_events s)];*) |