diff options
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/c-util.boot | 6 | ||||
-rw-r--r-- | src/interp/sys-constants.boot | 4 |
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 |