summaryrefslogtreecommitdiff
path: root/src/effectize.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-05-02 11:27:26 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-05-02 11:27:26 -0400
commit4b3399b59d17ed32c8c2800267b8c59fd0378f21 (patch)
tree9918a955a048024a07e68cd466c19c0dbf56f867 /src/effectize.sml
parent2307ccdcc5eb4ddfe719ddcbea999f7705ec79c3 (diff)
Successfully influenced effectful-ness status of FFI func
Diffstat (limited to 'src/effectize.sml')
-rw-r--r--src/effectize.sml7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/effectize.sml b/src/effectize.sml
index 52fdec6d..e3d62ff8 100644
--- a/src/effectize.sml
+++ b/src/effectize.sml
@@ -37,15 +37,14 @@ structure SS = BinarySetFn(struct
val compare = String.compare
end)
-val effectful = ["dml", "nextval", "send", "setCookie"]
-val effectful = SS.addList (SS.empty, effectful)
+fun effectful x = Settings.isEffectful x andalso not (Settings.isClientOnly x)
fun effectize file =
let
fun exp evs e =
case e of
- EFfi ("Basis", s) => SS.member (effectful, s)
- | EFfiApp ("Basis", s, _) => SS.member (effectful, s)
+ EFfi f => effectful f
+ | EFfiApp (m, x, _) => effectful (m, x)
| ENamed n => IM.inDomain (evs, n)
| EServerCall (n, _, _, _) => IM.inDomain (evs, n)
| _ => false