diff options
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/interp/define.boot | 17 |
2 files changed, 9 insertions, 12 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d1f3b679..7cd76c99 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2011-08-07 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * interp/define.boot (templateVal): Fold into expantTypeArgs. Remove. + 2011-08-05 Gabriel Dos Reis <gdr@cs.tamu.edu> * interp/define.boot (extendsCategoryBasic0): Fold into 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 |