From d76c902f18d1ee40c52372c37336631c0f81bfc8 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sun, 30 Oct 2011 16:38:47 +0000 Subject: * 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. --- src/boot/utility.boot | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/boot/utility.boot') 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) -- cgit v1.2.3