diff options
Diffstat (limited to 'src/interp/mark.boot')
-rw-r--r-- | src/interp/mark.boot | 92 |
1 files changed, 46 insertions, 46 deletions
diff --git a/src/interp/mark.boot b/src/interp/mark.boot index 66e18a09..ef5bdb64 100644 --- a/src/interp/mark.boot +++ b/src/interp/mark.boot @@ -82,12 +82,12 @@ tcheck T == markComp(x,T) == --for comp tcheck T - x ~= CAR T => [mkWi('comp,'WI,x,CAR T),:CDR T] + x ~= first T => [mkWi('comp,'WI,x,first T),:rest T] T markAny(key,x,T) == tcheck T - x ~= CAR T => [mkWi(key,'WI,x,CAR T),:CDR T] + x ~= first T => [mkWi(key,'WI,x,first T),:rest T] T markConstruct(x,T) == @@ -96,7 +96,7 @@ markConstruct(x,T) == markParts(x,T) == --x is ['PART,n,y] --for compNoStacking tcheck T - [mkWi('makeParts,'WI,x,CAR T),:CDR T] + [mkWi('makeParts,'WI,x,first T),:rest T] yumyum kind == kind markCoerce(T,T',kind) == --for coerce @@ -110,7 +110,7 @@ markCoerce(T,T',kind) == --for coerce $partExpression is [.,.,y] and T.expr = y => ['WI,y,$partExpression] T.expr res := [markCoerceChk mkWi('coerce,kind,T.mode,T'.mode, - mkWi('coerce,'WI,u,T'.expr)),:CDR T'] + mkWi('coerce,'WI,u,T'.expr)),:rest T'] res markCoerceChk x == @@ -121,38 +121,38 @@ markMultipleExplicit(nameList, valList, T) == tcheck T [mkWi('setqMultipleExplicit, 'WI, ["%LET", ["%Comma",:nameList], ["%Comma",:valList]], - T.expr), :CDR T] + T.expr), :rest T] markRetract(x,T) == tcheck T - [mkWi('smallIntegerStep,'RETRACT,nil,['REPLACE,['retract,x]],T.expr),:CDR T] + [mkWi('smallIntegerStep,'RETRACT,nil,['REPLACE,['retract,x]],T.expr),:rest T] markSimpleReduce(x,T) == tcheck T - [mkWi('compreduce,'LAMBDA, nil, ["REPLACE",x], T.expr), :CDR T] + [mkWi('compreduce,'LAMBDA, nil, ["REPLACE",x], T.expr), :rest T] markCompAtom(x,T) == --for compAtom tcheck T $convert2NewCompiler => - [mkWi('compAtom,'ATOM,nil,['REPLACE,[x]],T.expr),:CDR T] + [mkWi('compAtom,'ATOM,nil,['REPLACE,[x]],T.expr),:rest T] T markCase(x, tag, T) == tcheck T [mkWi('compCase1, 'LAMBDA, nil, ["REPLACE",["case",x,tag]], T.expr), - :CDR T] + :rest T] markCaseWas(x,T) == tcheck T - [mkWi('compCase1,'WI,x,T.expr),:CDR T] + [mkWi('compCase1,'WI,x,T.expr),:rest T] markAutoWas(x,T) == tcheck T - [mkWi('autoCoerce,'WI,x,T.expr),:CDR T] + [mkWi('autoCoerce,'WI,x,T.expr),:rest T] markCallCoerce(x,m,T) == tcheck T - [mkWi("call",'WI,["::",x,m], T.expr),: CDR T] + [mkWi("call",'WI,["::",x,m], T.expr),: rest T] markCoerceByModemap(x,source,target,T, killColonColon?) == tcheck T @@ -161,13 +161,13 @@ markCoerceByModemap(x,source,target,T, killColonColon?) == markAutoCoerceDown(x, tag, markAutoWas(x,T), killColonColon?) target is ["Union",:l] and member(source,l) => markAutoCoerceUp(x,markAutoWas(x, T)) - [mkWi('markCoerceByModemap,'WI,x,T.expr),:CDR T] + [mkWi('markCoerceByModemap,'WI,x,T.expr),:rest T] markAutoCoerceDown(x,tag,T,killColonColon?) == tcheck T patch := ["dot",getSourceWI x,tag] if killColonColon? then patch := ["REPLACE",["UNCOERCE",patch]] - [mkWi('coerceExtraHard,'LAMBDA, nil,patch,T.expr), :CDR T] + [mkWi('coerceExtraHard,'LAMBDA, nil,patch,T.expr), :rest T] markAutoCoerceUp(x,T) == -- y := getSourceWI x @@ -177,11 +177,11 @@ markAutoCoerceUp(x,T) == tcheck T [mkWi('coerceExtraHard,'LAMBDA, nil,["REPLACE",['construct, "##1"]],T.expr), -----want to capture by ##1 what is there ------11/2/94 - :CDR T] + :rest T] markCompSymbol(x,T) == --for compSymbol tcheck T - [mkWi('compSymbol,'ATOM,nil,['REPLACE,["@",x,$Symbol]],T.expr),:CDR T] + [mkWi('compSymbol,'ATOM,nil,['REPLACE,["@",x,$Symbol]],T.expr),:rest T] markStepSI(ostep,nstep) == --for compIterator ['STEP,:r] := ostep @@ -197,22 +197,22 @@ markStep(i) == mkWi('markStep,'FREE,nil,['REPLACE, ['PAREN,['free,i]]],i) markPretend(T,T') == tcheck T tcheck T' - [mkWi('pretend,'COLON,"pretend",T.mode,T.expr),:CDR T'] + [mkWi('pretend,'COLON,"pretend",T.mode,T.expr),:rest T'] markAt(T) == tcheck T - [mkWi('compAtom,'COLON,"@",T.mode,T.expr),:CDR T] + [mkWi('compAtom,'COLON,"@",T.mode,T.expr),:rest T] markCompColonInside(op,T) == --for compColonInside tcheck T $convert2NewCompiler => - [mkWi('compColonInside,'COLON,op,T.mode,T.expr),:CDR T] + [mkWi('compColonInside,'COLON,op,T.mode,T.expr),:rest T] T markLisp(T,m) == --for compForm1 tcheck T $convert2NewCompiler => - [mkWi('compForm1,'COLON,'Lisp,T.mode,T.expr),:CDR T] + [mkWi('compForm1,'COLON,'Lisp,T.mode,T.expr),:rest T] T markLambda(vl,body,mode,T) == --for compWithMappingMode @@ -221,7 +221,7 @@ markLambda(vl,body,mode,T) == --for compWithMappingMode args := [[":",$PerCentVariableList.i,t] for i in 0.. for t in rest ml] left := [":",['PAREN,:args],first ml] fun := ['_+_-_>,left,SUBLISLIS($PerCentVariableList,vl,body)] - [mkWi('compWithMappingMode,'LAMBDA,nil,['REPLACE,fun],T.expr),:CDR T] + [mkWi('compWithMappingMode,'LAMBDA,nil,['REPLACE,fun],T.expr),:rest T] markMacro(before,after) == --for compMacro $convert2NewCompiler => @@ -246,21 +246,21 @@ markReduceStep(it, pr) == markReduceIterator("step", it, pr) markReduceWhile(it, pr) == markReduceIterator("while", it, pr) markReduceUntil(it, pr) == markReduceIterator("until", it, pr) markReduceSuchthat(it, pr) == markReduceIterator("suchthat", it, pr) -markReduceIterator(kind, it, pr) == [mkWi(kind, 'WI, it, CAR pr), :CDR pr] +markReduceIterator(kind, it, pr) == [mkWi(kind, 'WI, it, first pr), :rest pr] markReduceBody(body,T) == tcheck T - [mkWi("reduceBody",'WI,body,CAR T), :CDR T] + [mkWi("reduceBody",'WI,body,first T), :rest T] markReduce(form, T) == tcheck T - [SETQ($funk,mkWi("reduce", 'WI,form,CAR T)), :CDR T] + [SETQ($funk,mkWi("reduce", 'WI,form,first T)), :rest T] markRepeatBody(body,T) == tcheck T - [mkWi("repeatBody",'WI,body,CAR T), :CDR T] + [mkWi("repeatBody",'WI,body,first T), :rest T] markRepeat(form, T) == tcheck T - [mkWi("repeat", 'WI,form,CAR T), :CDR T] + [mkWi("repeat", 'WI,form,first T), :rest T] markTran(form,form',[dc,:sig],env) == --from compElt/compFormWithModemap dc ~= 'Rep or not ('_$ in sig) => mkWi('markTran,'WI,form,['call,:form']) @@ -270,9 +270,9 @@ markTran(form,form',[dc,:sig],env) == --from compElt/compFormWithModemap IDENTP argSource and getmode(argSource,env) = 'Rep => arg markRepper('rep,arg) arg - form' := ['call,CAR form',:argl] + form' := ['call,first form',:argl] wi := mkWi('markTran,'WI,form,form') - CAR sig = '_$ => markRepper('per,wi) + first sig = '_$ => markRepper('per,wi) wi markRepper(key,form) == ['REPPER,nil,key,form] @@ -324,8 +324,8 @@ markSetq(originalLet,T) == --for compSetq $importStack := [nil,:$importStack] $freeStack := [nil,:$freeStack] capsuleStack('"Setq", entry) --- [markKillMI T.expr,:CDR T] - [code,:CDR T] +-- [markKillMI T.expr,:rest T] + [code,:rest T] if MEMQ(id,$domainLevelVariableList) then $markFreeStack := insert(id,$markFreeStack) T @@ -342,7 +342,7 @@ markCapsuleExpression(originalExpr, T) == $importStack := [nil,:$importStack] $freeStack := [nil,:$freeStack] capsuleStack('"capsuleExpression", entry) - [code,:CDR T] + [code,:rest T] markLhs x == x is [":",a,.] => a @@ -506,8 +506,8 @@ markEncodeChanges(x,s) == x is ['TAGGEDreturn,a,[y,:.]] => markEncodeChanges(y,s) x is ['CATCH,a,y] => markEncodeChanges(y,s) atom x => nil --- CAR x = IFCAR IFCAR s => --- for y in x for r in CAR s repeat markEncodeChanges(y,[r,:s]) +-- first x = IFCAR IFCAR s => +-- for y in x for r in first s repeat markEncodeChanges(y,[r,:s]) for y in x repeat markEncodeChanges(y,s) markOrigName x == @@ -619,14 +619,14 @@ markPath1 u == -- The result is the successful path from a to c -- A error printout occurs if no such path can be found u is [a,b,:r] => -- a < b < ... - a = b => markPath1 CDR u ---> allow duplicates on path + a = b => markPath1 rest u ---> allow duplicates on path path := markGetPath(a,b) or return nil -----> early exit if $shout1 then pp '"=========" pp path pp a pp b - [:first path,:markPath1 CDR u] + [:first path,:markPath1 rest u] nil $pathErrorStack := nil @@ -761,7 +761,7 @@ markInsertChanges(code,form,t,loc) == loc is [i,:r] => x := form for j in 0..(i-1) repeat - if not atom x then x := CDR x + if not atom x then x := rest x atom x => pp '"Translator RPLACA error" pp $data @@ -770,7 +770,7 @@ markInsertChanges(code,form,t,loc) == if $hohum then pp [i, '" >>> ", x] SETQ($CHANGE,COPY x) if x is ['elt,:y] and r then x := y - RPLACA(x,markInsertChanges(code,CAR x,t,rest loc)) + RPLACA(x,markInsertChanges(code,first x,t,rest loc)) chk(x,100) form -- pp ['"Making change: ",code,form,t] @@ -930,11 +930,11 @@ markPrintAttributes addForm == capsule := addForm is ['add,a,:.] => a is ['CATEGORY,:.] => a - a is ['Join,:.] => CAR LASTNODE a - CAR LASTNODE addForm + a is ['Join,:.] => first LASTNODE a + first LASTNODE addForm addForm if capsule is ['CAPSULE,:r] then - capsule := CAR LASTNODE r + capsule := first LASTNODE r capsule isnt ['CATEGORY,.,:lst] => nil for x in lst | x is ['ATTRIBUTE,att] repeat markSay(form2String att) @@ -1306,14 +1306,14 @@ moveLinesAfter(alist, lines) == n := #lines acc := nil for i in 0..(n - 1) for x in lines repeat - (p := ASSOC(i, alist)) and STRINGP CDR p => acc := [CDR p, x, :acc] - (p := lookupRight(i, alist)) and (CAR p) > i => RPLACD(p, x) + (p := ASSOC(i, alist)) and STRINGP rest p => acc := [rest p, x, :acc] + (p := lookupRight(i, alist)) and (first p) > i => RPLACD(p, x) acc := [x, :acc] REVERSE acc lookupRight(x, al) == al is [p, :al] => - x = CDR p => p + x = rest p => p lookupRight(x, al) nil @@ -1429,7 +1429,7 @@ combineDefinitions() == item := [predl, :defs] op := opOf form oldAlist := HGET($hash,opOf form) - pair := ASSOC(sig, oldAlist) => RPLACD(pair, [item,:CDR pair]) + pair := ASSOC(sig, oldAlist) => RPLACD(pair, [item,:rest pair]) HPUT($hash, op, [[sig, item], :oldAlist]) --extract and combine multiple definitions Xdeflist := nil @@ -1465,8 +1465,8 @@ buildNewDefinition(op,theSig,formPredAlist) == outerPred := boolBin simpHasPred MKPF(ASSOCLEFT newAlist,"or") theForm := CDAR newAlist alist := moveTruePred2End newAlist - theArgl := CDR theForm - theAlist := [[pred, CAR form, :theArgl] for [pred,:form] in alist] + theArgl := rest theForm + theAlist := [[pred, first form, :theArgl] for [pred,:form] in alist] theNils := [nil for x in theForm] thePred := member(outerPred, '(T (QUOTE T))) => nil |