aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2017-12-27Fix build with SBCLGabriel Dos Reis1-2/+1
ERROR does no expect a LIST.
2016-12-26 * interp/i-output.boot (appChar): Don't modify string parameter.Gabriel Dos Reis1-5/+1
* algebra/Makefile.am (strap-1/FINITE.$(FASLEXT)): Update dependency.
2016-02-09Various cleanupsGabriel Dos Reis3-23/+27
Rename getFunctionTemplate to matchSignatureInTemplate. Rename lookupInheritedDefiningFunction to lookupRemoteDefiningFunction as the function wasn't really about inherited operators. Have it avoid returning functions that might need their domain domain to operate correctly. Simplify getOpCode: it only needs two arguments since the third was the length of the second argument. dbDefaultPackage? is no longer a macro.
2016-02-08Do not let domain closure escape lookupDefinitionFunctionGabriel Dos Reis2-7/+4
A successful call to compiledLookup will come up with any of the form that results from stuffSlot. Handle them here. Remove confused and dead code.
2016-02-08Tidy gerCapsuleDirectoryEntryGabriel Dos Reis1-2/+9
Factor out candidatesForSlot.
2016-02-07Remove $NRTaddFormGabriel Dos Reis6-38/+37
Use a %CompilerData slot to hold the corresponding data during the elaboration of a capsule.
2016-02-07Remove $NRTderivedTargetIfTrueGabriel Dos Reis3-8/+1
It wasn't used in any meaningful way -- its value was always set to 'false'. Furthermore, it didn't match documentation.
2016-02-07Various cleanupsGabriel Dos Reis2-7/+7
Use `domainDirectory dom` instead of `domainRef(dom,1)`.
2016-02-06Move $lookupDefaults out of newLookupInTableGabriel Dos Reis2-6/+7
Move $lookupDefaults to he callers of newLookupInTable to surface variabilities in the control flow.
2016-02-06optNot: handle conjunction and disjunction operandsGabriel Dos Reis1-0/+4
2016-02-02Rename dbConstructorDefault to dbDefaultPackageGabriel Dos Reis5-30/+36
And various cleanups.
2016-02-01Remove dead code in compFunctorBodyGabriel Dos Reis1-4/+0
2016-02-01Better indirect call resolutionGabriel Dos Reis3-55/+57
The infrastructure put in place in the last few commits now enables better indirect calls ('SPADCALL') to operations implemented in the same capsule. The improvement here is that the limitation of unconditional definition is removed. Now, even conditional definitions are resolved as long as the its predicate and the predicate of the current function match.
2016-02-01Support ')read' of Boot fileGabriel Dos Reis1-4/+8
Allow the system command to ')read' a Boot source file: the involves (1) compiling Boot to machine code (2) loading the resulting FASL in the current system Note that if the boot file has any dependency in terms of 'import', one needs to set up the $LoadDirectories appropriately, or else the system will crash. In particular, if you're modifying OpenAxiom source files you need to include the appropriate directories containing OpenAxiom fasl files.
2016-01-31Tidy noteCapsuleFunctionDefinitionGabriel Dos Reis1-7/+9
2016-01-31Defer compilation of capsule functions to compFunctorBodyGabriel Dos Reis1-4/+3
2016-01-31Rename compileConstrutor to compileConstructorIRGabriel Dos Reis1-17/+10
Establish a distinct control path for compiling constructor bodies. Avoid routing these IRs via 'compile', which should be used only for capsule-level definitions.
2016-01-31Small cleanup in define.bootGabriel Dos Reis2-16/+3
2016-01-31Tidy spadCompileOrSetqGabriel Dos Reis1-10/+5
2016-01-31Remove support for --show-insn, and ")set )report insn"Gabriel Dos Reis5-40/+4
2016-01-31Remove a couple of global states from the compiler.Gabriel Dos Reis2-17/+15
2016-01-30writeCapsuleLevelDefinitions: don't write into the index fileGabriel Dos Reis2-9/+11
2016-01-30compDefineCapsuleFunction: Tidy.Gabriel Dos Reis1-5/+1
2016-01-30Make signature definitions parts of %CompilationData.Gabriel Dos Reis2-14/+8
2016-01-30Do not rename mkpf.Gabriel Dos Reis2-8/+8
2016-01-30Normalize spelling of mkpf.Gabriel Dos Reis8-17/+17
2016-01-30Tidy category predicate conjunction.Gabriel Dos Reis2-7/+5
2016-01-28Fix storeBlanks\!Gabriel Dos Reis1-2/+3
2016-01-22finalizeLisplib: skip category packagesGabriel Dos Reis1-1/+1
The documentation for the operations from category packages is already present in the original category, so there is no value in duplicating them for the default packages.
2016-01-22getConstructorFullNameFromDB: get it directly.Gabriel Dos Reis2-6/+2
2016-01-21getConstructorAncestorsFromDB: get them from generated codeGabriel Dos Reis3-16/+7
Ancestors for category constructors are stored in databases with parameter names of the form #1, #2, etc. called "formals", instead of the user-writtern parameters in the input souce code. However, the ancestors as previously stored in generated code used the input source-level parameter names. Changed to formals, so no rewrite needed before making databases.
2016-01-20getConstructorArgsFromDB: remove as redundant.Gabriel Dos Reis4-10/+4
2016-01-20getConstructorFromFromDB: get it from compiled code.Gabriel Dos Reis2-9/+7
2016-01-20Include compiled initdb in final system image.Gabriel Dos Reis1-2/+6
2016-01-20testExtend: Handle case where first argument is presented as an attribute.Gabriel Dos Reis2-2/+5
2016-01-19Skip interp.daase for a few database info in generated code.Gabriel Dos Reis2-14/+9
2016-01-19getConstructorCategory: get it from generated code for category constructors.Gabriel Dos Reis1-1/+4
2016-01-17getConstructorParentsFromDB: get data from compiled code.Gabriel Dos Reis2-8/+5
2016-01-16Reduce dependencies on databases to catgeory.daase during algebra buildGabriel Dos Reis8-55/+77
2016-01-13GETDATABASE: Remove dead alternatives.Gabriel Dos Reis1-7/+1
2016-01-13getSuperDomainFromDB: get data from generated codeGabriel Dos Reis2-2/+5
Don't call GETDATABASE to read the information. Rather, load the generated code for the contructor. Discovered mode algebra dependencies.
2016-01-12Share more code between various parts of the compiler.Gabriel Dos Reis3-6/+29
2016-01-09Switch getDualSignature to avoiding interpreter databaseGabriel Dos Reis3-15/+5
Now that OpenAxiom emits the dual signature data also directly in the generated executable code for a constructor, there is no no need to consult the interpreter data base for that information. This change relies on the previous commit, e.g. getDualSignature should be considered invalid for builtin constructors. Any instanbility caused by this patch should be considered a latent bug that should be given high priority fixing.
2016-01-09Every use of getDualSignature that does not ensure that builtinGabriel Dos Reis12-36/+52
constructors are handled before the call is a bug. This patch fixes most the obvious and glaring places. Hopefully, the remaining cases will be exercised when getDualSignature bypasses the on-disk database mamouth.
2016-01-09instantiateNiladics\!: Tidy.Gabriel Dos Reis1-2/+3
2016-01-09Remove $AncestorsTable. Adjust users.Gabriel Dos Reis4-43/+29
2016-01-08Remove dead codes.Gabriel Dos Reis3-34/+0
2016-01-08Misc cleanup.Gabriel Dos Reis1-24/+21
2016-01-08Replace \*ANCESTORS-HASH\* with $AncestorsTable.Gabriel Dos Reis3-16/+16
2016-01-08Replace \*HASCATEGORY-HASH\* with $HasCategoryTableGabriel Dos Reis5-28/+25