aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-08-07 22:14:49 +0000
committerdos-reis <gdr@axiomatics.org>2011-08-07 22:14:49 +0000
commit96970bdaca77f0abe493ff791d9c42b8f79bb80d (patch)
tree20b470b4f5e5cb3c775c8784e71b4a3620a41d2d /src/interp
parent6640c96750a315d4298bb09afa5438391d56126a (diff)
downloadopen-axiom-96970bdaca77f0abe493ff791d9c42b8f79bb80d.tar.gz
* interp/define.boot (templateVal): Fold into expantTypeArgs. Remove.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/define.boot17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 11d928fc..22c0711d 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -292,8 +292,8 @@ getExportCategory form ==
op is 'Record => ['RecordCategory,:argl]
op is 'Union => ['UnionCategory,:argl]
op is 'Enumeration => ['EnumerationCategory,:argl]
- functorModemap := getConstructorModemapFromDB op
- [[.,target,:tl],:.] := functorModemap
+ op is 'Mapping => ['MappingCategory,:argl]
+ [[.,target,:tl],:.] := getConstructorModemapFromDB op
applySubst(pairList($FormalMapVariableList,argl),target)
NRTextendsCategory1(domform,exCategory,addForm) ==
@@ -372,18 +372,11 @@ expandType(lazyt,template,domform) ==
[functorName,:[expandTypeArgs(a,template,domform) for a in argl]]
expandTypeArgs(u,template,domform) ==
- u is '$ => u --template.0 -------eliminate this as $ is rep by 0
- integer? u => expandType(templateVal(template, domform, u), template,domform)
- u is ['NRTEVAL,y] => y --eval y
- u is ['QUOTE,y] => y
+ u is '$ => u
+ integer? u => expandType(vectorRef(template,u),template,domform)
+ u is [.,y] and u.op in '(NRTEVAL QUOTE) => y
u isnt [.,:.] => u
expandType(u,template,domform)
-
-templateVal(template,domform,index) ==
---returns a domform or a lazy slot
- index = 0 => BREAK() --template
- vectorRef(template,index)
-
--% Subdomains