diff options
author | dos-reis <gdr@axiomatics.org> | 2011-10-28 23:08:17 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-10-28 23:08:17 +0000 |
commit | 0c79bf08a243116545f78251958abc61377f1ed3 (patch) | |
tree | 2c0b4afc6b3224d86a3ebc559c726f8246455967 /src/interp/lisplib.boot | |
parent | c8a3a2f38d94347901da6194ab3329c430b20944 (diff) | |
download | open-axiom-0c79bf08a243116545f78251958abc61377f1ed3.tar.gz |
* interp/daase.lisp (DATABASE): Add new field CAPSULE-DEFINITIONS.
(dbCapsuleDefinitions): New macro accessor.
* interp/functor.boot (encodeFunctionName): Set it.
* interp/lisplib.boot ($lisplibVariableAlist): Remove.
($lisplibSignatureAlist): Likewise.
(writeCapsuleLevelDefinitions): New.
(finalizeLisplib): Use it.
(mergeSignatureAndLocalVarAlists): Remove.
* interp/clam.boot (clearCategoryCaches): Use mkDomainCatName.
* interp/define.boot (DomainSubstitutionFunction): Likewise.
Diffstat (limited to 'src/interp/lisplib.boot')
-rw-r--r-- | src/interp/lisplib.boot | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot index d565a74e..6c6e3018 100644 --- a/src/interp/lisplib.boot +++ b/src/interp/lisplib.boot @@ -389,8 +389,6 @@ compConLib1(fun,infileOrNil,outfileOrNil,auxOp,editFlag,traceFlag) == $lisplibPredicates: local := nil $lisplibOperationAlist: local := nil $libFile: local := nil - $lisplibVariableAlist: local := nil - $lisplibSignatureAlist: local := nil if cons? fun and null rest fun then fun:= first fun -- unwrap nullary libName:= getConstructorAbbreviation fun infile:= infileOrNil or getFunctionSourceFile fun or @@ -409,9 +407,7 @@ compDefineLisplib(df:=["DEF",[op,:.],:.],m,e,prefix,fal,fn) == $op: local := op $lisplibPredicates: local := nil -- set by makePredicateBitVector $lisplibOperationAlist: local := nil - $lisplibSignatureAlist: local := nil $libFile: local := nil - $lisplibVariableAlist: local := nil -- $lisplibRelatedDomains: local := nil --from ++ Related Domains: see c-doc --for categories, is rhs of definition; otherwise, is target of functor --will eventually become the "constructorCategory" property in lisplib @@ -507,6 +503,9 @@ writeAncestors(ctor,x,file) == writePrincipals(ctor,x,file) == writeInfo(ctor,x,'parents,'dbPrincipals,file) +writeCapsuleLevelDefinitions(ctor,x,file) == + writeInfo(ctor,x,'signaturesAndLocals,'dbCapsuleDefinitions,file) + ++ If compilation produces an error, issue inform user and ++ return to toplevel reader. leaveIfErrors(libName,kind) == @@ -538,9 +537,7 @@ finalizeLisplib(ctor,libName) == $NRTslot1PredicateList : local := [] NRTgenInitialAttributeAlist(db,rest opsAndAtts) writeSuperDomain(ctor,dbSuperDomain db,$libFile) - lisplibWrite('"signaturesAndLocals", - mergeSignatureAndLocalVarAlists($lisplibSignatureAlist, - $lisplibVariableAlist),$libFile) + writeCapsuleLevelDefinitions(ctor,dbCapsuleDefinitions db,$libFile) writeAttributes(ctor,dbAttributes db,$libFile) writePredicates(ctor,$lisplibPredicates,$libFile) writeAbbreviation(db,$libFile) @@ -568,13 +565,6 @@ getPartialConstructorModemapSig(c) == (s := getConstructorSignature c) => rest s throwEvalTypeMsg("S2IL0015",[c]) -mergeSignatureAndLocalVarAlists(signatureAlist, localVarAlist) == - -- this function makes a single Alist for both signatures - -- and local variable types, to be stored in the LISPLIB - -- for the function being compiled - [[funcName,:[signature,:LASSOC(funcName,localVarAlist)]] for - [funcName, :signature] in signatureAlist] - getConstructorOpsAndAtts(form,kind,modemap) == kind is 'category => getCategoryOpsAndAtts(form) getFunctorOpsAndAtts(form,modemap) |