diff options
author | dos-reis <gdr@axiomatics.org> | 2013-05-11 19:03:39 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2013-05-11 19:03:39 +0000 |
commit | 4d744926ba30ed64d68481878404d99c745cd595 (patch) | |
tree | 358cb35291e0ff4985bd8bc78cdeb70718b6420b /src/interp | |
parent | d739b05adf4ab0b012db9334ad2e406e5979fdaa (diff) | |
download | open-axiom-4d744926ba30ed64d68481878404d99c745cd595.tar.gz |
Fix opcode for references to domain-wide entities
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/lisp-backend.boot | 2 | ||||
-rw-r--r-- | src/interp/nruncomp.boot | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/interp/lisp-backend.boot b/src/interp/lisp-backend.boot index efc3e8a6..2f4b661f 100644 --- a/src/interp/lisp-backend.boot +++ b/src/interp/lisp-backend.boot @@ -775,7 +775,7 @@ compileLispDefinition(name,def) == nil ++ Return true if `parms' is the empty list -++ of is a proper list of identifiers. +++ or is a proper list of identifiers. simpleParameterList? parms == parms = nil => true parms is [.,:.] and lastNode parms is [.] and (and/[ident? p for p in parms]) diff --git a/src/interp/nruncomp.boot b/src/interp/nruncomp.boot index 4d16baee..45112f62 100644 --- a/src/interp/nruncomp.boot +++ b/src/interp/nruncomp.boot @@ -310,7 +310,7 @@ consDomainName(db,x,dc) == substitute('$,"$$",x) x = [] => x y := LASSOC(x,$devaluateList) => y - k := assocIndex(db,x) => ['devaluate,['%vref,'$,k]] + k := assocIndex(db,x) => ['devaluate,['%tref,'$,k]] get(x,'value,$e) => isDomainForm(x,$e) => ['devaluate,x] x @@ -323,7 +323,7 @@ consDomainForm(db,x,dc) == [op,:[consDomainForm(db,y,dc) for y in argl]] x = [] => x (y := LASSOC(x,$devaluateList)) => y - k := assocIndex(db,x) => ['%vref,'$,k] + k := assocIndex(db,x) => ['%tref,'$,k] get(x,'value,$e) or get(x,'mode,$e) => x MKQ x @@ -667,7 +667,7 @@ NRTputInHead(db,bod) == NRTputInTail(db,rest bod) --NOTE: args = copyTree of rest bod -- The following test allows function-returning expressions fn is [elt,dom,ind] and dom ~='$ and elt in '(ELT CONST) => - k := assocIndex(db,dom) => lastNode(bod).first := ['%vref,'_$,k] + k := assocIndex(db,dom) => lastNode(bod).first := ['%tref,'_$,k] nil NRTputInHead(db,fn) bod @@ -684,7 +684,7 @@ NRTputInTail(db,x) == (u := first y) isnt [.,:.] => u is '$ or LASSOC(u,$devaluateList) => nil k := assocIndex(db,u) => - u isnt [.,:.] => y.first := ['%vref,'_$,k] + u isnt [.,:.] => y.first := ['%tref,'_$,k] -- u atomic means that the slot will always contain a vector y.first := ['SPADCHECKELT,'_$,k] --this reference must check that slot is a vector |