aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/mono_reduce.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2010-02-27 16:49:11 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2010-02-27 16:49:11 -0500
commitf59bbf0b942cd888c798c06ba6841bf94562a438 (patch)
tree64c89f63745865e9d0e443dc8cc8ecc2cac7900b /src/mono_reduce.sml
parent1607362ff628b9a1476679fbf9146b66ce92a3ee (diff)
benignEffectful
Diffstat (limited to 'src/mono_reduce.sml')
-rw-r--r--src/mono_reduce.sml6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mono_reduce.sml b/src/mono_reduce.sml
index 10de1c56..6bd5ceb8 100644
--- a/src/mono_reduce.sml
+++ b/src/mono_reduce.sml
@@ -52,7 +52,7 @@ fun simpleImpure (tsyms, syms) =
| EDml _ => true
| ENextval _ => true
| ESetval _ => true
- | EFfiApp (m, x, _) => Settings.isEffectful (m, x)
+ | EFfiApp (m, x, _) => Settings.isEffectful (m, x) orelse Settings.isBenignEffectful (m, x)
| EServerCall _ => true
| ERecv _ => true
| ESleep _ => true
@@ -87,7 +87,7 @@ fun impure (e, _) =
| ENone _ => false
| ESome (_, e) => impure e
| EFfi _ => false
- | EFfiApp (m, x, _) => Settings.isEffectful (m, x)
+ | EFfiApp (m, x, _) => Settings.isEffectful (m, x) orelse Settings.isBenignEffectful (m, x)
| EApp ((EFfi _, _), _) => false
| EApp _ => true
@@ -372,7 +372,7 @@ fun reduce file =
| ESome (_, e) => summarize d e
| EFfi _ => []
| EFfiApp (m, x, es) =>
- if Settings.isEffectful (m, x) then
+ if Settings.isEffectful (m, x) orelse Settings.isBenignEffectful (m, x) then
List.concat (map (summarize d) es) @ [Unsure]
else
List.concat (map (summarize d) es)