aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2016-02-04Add leadingTerm to IndexedDirectProductCategoryGabriel Dos Reis1-8/+7
2016-02-03Clean up IndexedDirectProductAbelianMonoidGabriel Dos Reis1-9/+2
2016-02-02Merge branch 'master' of github.com-GabrielDosReis:GabrielDosReis/open-axiomGabriel Dos Reis2-1/+2
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-01a typo and an omissionBill Page2-1/+2
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 Reis2-10/+13
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 Reis6-40/+15
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 Reis6-16/+15
2016-01-30Normalize spelling of mkpf.Gabriel Dos Reis8-17/+17
2016-01-30Tidy category predicate conjunction.Gabriel Dos Reis2-7/+5
2016-01-30FreeModule: Tidy implementation.Gabriel Dos Reis1-37/+29
2016-01-30Remove superflous declarations.Gabriel Dos Reis1-10/+4
2016-01-28Fix storeBlanks\!Gabriel Dos Reis1-2/+3
2016-01-25Remove various crufts.Gabriel Dos Reis36-356/+347
2016-01-25Misc. cleanupGabriel Dos Reis9-56/+60
2016-01-24Misc. fixesGabriel Dos Reis16-25/+31
With the siwtch to a C++ compiler, the AC_PATH_XTRA has become less effective as it internally relies on the C compiler invokation. Fixed CXXFLAGS, CPPFLAGS, and LDFLAGS when detecting <X11/xpm.h> usability. Various bitmasks in src/hyper and src/graph were bogusly using 'char' (instead of 'unsigned char') when they specify values larger than 127. Caught by the C++ compiler, thanks to no-narrowing conversion. Fixed. Eventually the X11-based HD interface and graphics should be replaced by a more modern GUI interface.
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-22Remove antiquated syntax for operator declaration.Gabriel Dos Reis5-11/+7
2016-01-22getConstructorFullNameFromDB: get it directly.Gabriel Dos Reis2-6/+2
2016-01-21getConstructorAncestorsFromDB: get them from generated codeGabriel Dos Reis7-2962/+2950
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 Reis4-4/+11
2016-01-17subtractIfCan$CancellationAbelianMonoid: return the more principled Maybe %Gabriel Dos Reis20-1909/+1794
2016-01-17Maybe: CoercibleTo OutputForm is now optional.Gabriel Dos Reis1-5/+7
2016-01-17Propagate renaming.Gabriel Dos Reis2-2/+2
2016-01-17Rename Magma to FreeMagmaGabriel Dos Reis4-21/+21
A breeze, given previous compiler work. Renaming matches FriCAS's.
2016-01-17getConstructorParentsFromDB: get data from compiled code.Gabriel Dos Reis3-8/+11
2016-01-16Reduce dependencies on databases to catgeory.daase during algebra buildGabriel Dos Reis18-195/+194
2016-01-13GETDATABASE: Remove dead alternatives.Gabriel Dos Reis1-7/+1
2016-01-13getSuperDomainFromDB: get data from generated codeGabriel Dos Reis4-4/+11
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 Reis4-6/+30
2016-01-12More algebra dependenciesGabriel Dos Reis3-26/+65
2016-01-11Algebra layer 0 now starts with basic typesGabriel Dos Reis2-422/+323
This cuts down on the number of domains that need to be built during bootstrapping.
2016-01-09Switch getDualSignature to avoiding interpreter databaseGabriel Dos Reis5-18/+23
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.