aboutsummaryrefslogtreecommitdiff
path: root/src/boot/utility.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-10-30 16:38:47 +0000
committerdos-reis <gdr@axiomatics.org>2011-10-30 16:38:47 +0000
commitd76c902f18d1ee40c52372c37336631c0f81bfc8 (patch)
tree0a79d6ab8b42d9da5cb824f2871b0e355b21296c /src/boot/utility.boot
parentfe017bc0d4dfb95fa051aaa18188506c0857707d (diff)
downloadopen-axiom-d76c902f18d1ee40c52372c37336631c0f81bfc8.tar.gz
* interp/sys-macros.lisp (MKPF1): Tidy.
* interp/sys-constants.boot ($QueryVariables): New. * interp/define.boot ($whreDecls): Remove. (checkRepresentation): Take a DB as first parameter. Adjust Callers. (buildConstructorCondition): New (deduceImplicitParameters): Likewise (compDefineCategory2): Use it. (compDefineFunctor1): Likewise. (typeDependencyPath): Remove. (inferConstructorImplicitParameters): Likewise. * interp/compiler.boot (compTopLevel): Do not bind $whereDecls. (recordDeclarationInSideCondition): Take additional reference parameter to the list of processed decls. Adjust callers. (compWhere): Record any side decls in compilation environment. * interp/c-util.boot (makeCompilationData): Initialize implicit data. (dbParameters): New. (dbImplicitData): New accessor macro. (dbImplicitParameters): New. (dbImplicitConstraints): Likewise. (dbSubstituteFormals): Likewise. (dbSubstituteQueries): Likewise. * interp/database.boot (fixUpPredicate): Tidy. * boot/utility.boot (applySubst): Early exit on identity substitution. (applySubst!): Likewise. (applySubstNQ): Likewise. * boot/ast.boot (bfIS1): Accept pattern matching against Boolean constant true.
Diffstat (limited to 'src/boot/utility.boot')
-rw-r--r--src/boot/utility.boot3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/boot/utility.boot b/src/boot/utility.boot
index 139e98d0..5b870a6d 100644
--- a/src/boot/utility.boot
+++ b/src/boot/utility.boot
@@ -214,6 +214,7 @@ substitute(y,x,s) ==
s
applySubst(sl,t) ==
+ sl = nil => t
cons? t =>
hd := applySubst(sl,first t)
tl := applySubst(sl,rest t)
@@ -223,6 +224,7 @@ applySubst(sl,t) ==
t
applySubst!(sl,t) ==
+ sl = nil => t
cons? t =>
hd := applySubst!(sl,first t)
tl := applySubst!(sl,rest t)
@@ -233,6 +235,7 @@ applySubst!(sl,t) ==
++ Like applySubst, but skip quoted materials.
applySubstNQ(sl,t) ==
+ sl = nil => t
t is [hd,:tl] =>
hd is 'QUOTE => t
hd := applySubstNQ(sl,hd)