diff options
author | dos-reis <gdr@axiomatics.org> | 2013-06-15 04:56:05 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2013-06-15 04:56:05 +0000 |
commit | 11b080192468670b9b1a8f5cf9d5ff890195a3f2 (patch) | |
tree | 88837c19a422af6dd1e9b6609727f4b43db1ae70 /src/interp/compiler.boot | |
parent | 5bea876989c59d4e58237d5e3fd059a6b812df89 (diff) | |
download | open-axiom-11b080192468670b9b1a8f5cf9d5ff890195a3f2.tar.gz |
Add DB parameter to extendsCategoryForm.
Diffstat (limited to 'src/interp/compiler.boot')
-rw-r--r-- | src/interp/compiler.boot | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index 60f2fc50..1d2921eb 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -327,9 +327,10 @@ finishLambdaExpression(expr is ['%lambda,vars,.],env) == compWithMappingMode(x,m is ["Mapping",m',:sl],oldE) == e := oldE isFunctor x => + db := currentDB e if get(x,"modemap",$CategoryFrame) is [[[.,target,:argModeList],.],:.] and - (and/[extendsCategoryForm("$",s,mode) for mode in argModeList for s in sl] - ) and extendsCategoryForm("$",target,m') then + (and/[extendsCategoryForm(db,"$",s,mode) for mode in argModeList for s in sl] + ) and extendsCategoryForm(db,"$",target,m') then return [['%function,x],m,e] x is ["+->",:.] => compLambda(x,m,oldE) if string? x then x := makeSymbol x @@ -1843,7 +1844,7 @@ coerceHard(T,m) == string? T.expr and T.expr=m => [T.expr,m,$e] isCategoryForm(m,$e) => $bootStrapMode => [T.expr,m,$e] - extendsCategoryForm(T.expr,T.mode,m) => [T.expr,m,$e] + extendsCategoryForm(currentDB $e,T.expr,T.mode,m) => [T.expr,m,$e] coerceExtraHard(T,m) (m' is "$" and m = $functorForm) or (m' = $functorForm and m = "$") => [T.expr,m,$e] |