diff options
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/compiler.boot | 3 | ||||
-rw-r--r-- | src/interp/modemap.boot | 17 |
2 files changed, 8 insertions, 12 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index 3bfaada1..f452d652 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -2395,9 +2395,6 @@ compRepeatOrCollect(form,m,e) == -- fn:= (or/[selfn for [cond,selfn] in u | cond=true]) or return nil -- [['%call,fn,x],target,e] -listOrVectorElementMode x == - x is [a,b,:.] and symbolMember?(a,'(PrimitiveArray Vector List)) => b - ++ Return the least Integer subdomain that can represent values ++ of both Integer subdomains denoted by the forms `x' and `y. joinIntegerModes(x,y,e) == diff --git a/src/interp/modemap.boot b/src/interp/modemap.boot index cd69da0f..e1475d26 100644 --- a/src/interp/modemap.boot +++ b/src/interp/modemap.boot @@ -227,11 +227,10 @@ addNewDomain(domain,e) == augModemapsFromDomain(name,functorForm,e) == symbolMember?(KAR name or name,$DummyFunctorNames) => e - name=$Category or isCategoryForm(name,e) => e - listMember?(name,curDomainsInScope:= getDomainsInScope e) => e + name = $Category or isCategoryForm(name,e) => e + listMember?(name,getDomainsInScope e) => e if super := superType functorForm then e := addNewDomain(super,e) - if innerDom:= listOrVectorElementMode name then e:= addDomain(innerDom,e) if name is ["Union",:dl] then for d in stripUnionTags dl repeat e:= addDomain(d,e) augModemapsFromDomain1(name,functorForm,e) @@ -239,18 +238,18 @@ augModemapsFromDomain(name,functorForm,e) == augModemapsFromDomain1(name,functorForm,e) == property(KAR functorForm,"makeFunctionList") => addConstructorModemaps(name,functorForm,e) - atom functorForm and (catform:= getmode(functorForm,e)) => + atom functorForm and (catform := getmode(functorForm,e)) => augModemapsFromCategory(name,name,functorForm,catform,e) - mappingForm:= getmodeOrMapping(KAR functorForm,e) => - ["Mapping",categoryForm,:functArgTypes]:= mappingForm - catform:= substituteCategoryArguments(rest functorForm,categoryForm) + mappingForm := getmodeOrMapping(KAR functorForm,e) => + ["Mapping",categoryForm,:functArgTypes] := mappingForm + catform := substituteCategoryArguments(rest functorForm,categoryForm) augModemapsFromCategory(name,name,functorForm,catform,e) stackMessage('"%1pb is an unknown mode",[functorForm]) e substituteCategoryArguments(argl,catform) == - argl:= substitute("$$","$",argl) - arglAssoc:= [[INTERNL("#",STRINGIMAGE i),:a] for i in 1.. for a in argl] + argl := substitute("$$","$",argl) + arglAssoc := [[INTERNL("#",STRINGIMAGE i),:a] for i in 1.. for a in argl] applySubst(arglAssoc,catform) --Called, by compDefineFunctor, to add modemaps for $ that may |