aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/c-util.boot6
-rw-r--r--src/interp/sys-constants.boot4
2 files changed, 4 insertions, 6 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index 5820b091..318d03e1 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -691,9 +691,9 @@ isDomainInScope(domain,e) ==
true --is not a functor
isSimple x ==
- atom x or $InteractiveMode => true
- x is [op,:argl] and
- isSideEffectFree op and (and/[isSimple y for y in argl])
+ atomic? x => true
+ constructor? x.op or
+ isSideEffectFree x.op and (and/[isSimple y for y in x.args])
isSideEffectFree op ==
member(op,$SideEffectFreeFunctionList) or op is ["elt",.,op'] and
diff --git a/src/interp/sys-constants.boot b/src/interp/sys-constants.boot
index 11779c82..aa0219dd 100644
--- a/src/interp/sys-constants.boot
+++ b/src/interp/sys-constants.boot
@@ -325,10 +325,8 @@ $SideEffectFreeFunctionList ==
_>_= _
_< _
_<_= _
- MEMBER _
_is _
- _isnt _
- ATOM)
+ _isnt)
--% Types