Age | Commit message (Collapse) | Author | Files | Lines |
|
(getFFIDatatype): Accept ReadWrite modifier.
* algebra/data.spad.pamphlet (Int32): New.
(UInt64): Likewise.
* algebra/Makefile.pamphlet (axiom_algebra_layer_7): Include INT64
and UINT64.
|
|
signature import.
* interp/functor.boot (encodeLocalFunctionName): New.
* interp/define.boot (compDefine1): Avoid getAbbreviation.
(doIt): Handle %SignatureImport nodes.
* interp/compiler.boot (emitLocalCallInsn): New.
(applyMapping): Use it.
(compApplication): Likewise.
(bootDenotation): New.
(getBasicFFIType): Likewise.
(getFFIDatatype): Likewise.
(getBootType): Likewise.
(checkExternalEntityType): Likewise.
(checkExternalEntity): Likewise.
(removeModifiers): Likewise.
(compSignatureImport): Likewise.
* interp/vmlisp.lisp (|compileLispDefinition|): New.
* interp/boot-pkg.lisp: Import genImportDeclaration.
* boot/initial-env.lisp: Export genImportDeclaration.
* boot/ast.boot: Tidy. Accept `readwrite' modifier.
|
|
* interp/g-opt.boot (optimizeFunctionDef): Tidy.
* interp/i-syscmd.boot (compileSpad2Cmd): Support ')report' option.
* interp/sys-driver.boot (initializeGlobalState): Likewise.
|
|
optimizable domain constructors.
(processInlineRequest): New.
* interp/define.boot (spadCompileOrSetq): Tidy.
(mutateToNothing): New.
(doIt): Use it. Add support for inline directives.
* interp/fnewmeta.lisp (PARSE-Inline): New.
* interp/metalex.lisp (KEYWORDS): Include 'inline'.
|
|
|
|
|
|
vector.
(compSymbol): Don't interpret 'true' and 'false' as Boolean
constants if domain Boolean is not in scope.
* algebra/any.spad.pamphlet (Property): Tidy.
* algebra/asp.spad.pamphlet (Asp34): Likewise.
* algebra/functions.spad.pamphlet (BasicFunctions): Likewise.
* algebra/lodop.spad.pamphlet (OppositeMonogenicLinearOperator):
Likewise.
* algebra/groebsol.spad.pamphlet: Import Boolean.
|
|
pointers to the environment.
(compRecoverAlternative): Likewise.
(compMatch): Likewise.
(compIterator): Likewise.
(compIteratorV): Likewise.
* interp/define.boot (checkRepresentation): Likewise.
* interp/info.boot (actOnInfo): Likewise.
|
|
* interp/compiler.boot (compHasFormat): Handle signature for
constants too.
* interp/info.boot (actOnInfo): Likewise.
* algebra/data.spad.pamphlet (sample$Byte): Make a constant.
(SystemInteger): Export constant 'sample'.
(SystemNonNegativeInteger): Likewise.
* algebra/aggcat2.spad.pamphlet (FiniteLinearAggregateFunctions2):
Use 'sample' or 'random' elements when allocating new aggregates.
|
|
* interp/compiler.boot: Likewise.
* interp/define.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/info.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
on `has'.
(getInverseEnvironment): Likewise.
* algebra/equation2.spad.pamphlet (factorAndSplit$Equation): Fix
misuses of `has'.
* interp/functor.boot (mkTypeForm): Rename from mkDomainConstructor.
|
|
Lose second argument. Document.
|
|
* interp/g-util.boot (isSubDomain): Tidy.
* interp/g-opt.boot (isVMConstantForm): New.
(findVMFreeVars): Likewise.
* interp/define.boot (insertViewMorphisms): Remove.
(emitSubdomainInfo): New.
(checkVariableName): Likewise.
(checkParameterNames): Likewise.
(checkRepresentation): Set $subdomain where appropriate.
(compDefines): Check parameter names.
(compDefineFunctor1): Propagate subdomain info.
(doIt): Don't call insertViewMorphisms.
* interp/compiler.boot (setqSingle): Check variable name.
(compIterator): Likewise.
(commonSuperType): New.
(satisfies): Likewise.
(coerceSubset): Use them to implemen cross-subdomain coercion.
(coerceSuperset): New.
(comCoerce1): Use it.
(compPer): New.
(compRep): Likewise.
* interp/c-util.boot (getRepresentation): New.
(proclaimCapsuleFunction): Improve for specialized subdomains.
* algebra/stream.spad.pamphlet: Don't use `per' as variable name.
* algebra/si.spad.pamphlet (size$SingleInteger): Tidy.
(coerce$SingleInteger): Likewise.
* algebra/reclos.spad.pamphlet (nonNull$RealClosure): Don't use
`rep' as parameter name.
* algebra/data.spad.pamphlet (Byte): Now a subdomain of
NonNegativeInteger. Tidy.
|
|
* interp/compat.boot (system): Likewise.
* interp/astr.boot (ncEltQ): Fix declaration.
* interp/compiler.boot (compMapCond'): Likewise.
(compMapCond): Likewise.
(compMapCondFun): Remove declaration.
|
|
* Makefile.pamphlet (AXIOM_SRC_TARGETS): Add all-databases.
src/ChangeLog
2009-01-03 Gabriel Dos Reis <gdr@cs.tamu.edu>
* lisp/core.lisp.in (|%algebraSystemIsComplete|): New.
(|%basicSystemIsComplete|): Use it.
* interp/wi1.boot (setqSingle): Use maximalSuperType.
(coerceSubset): Simplify.
(compCoerce1): Tidy.
* interp/i-resolv.boot (resolveTCat): Use superType.
* interp/lisplib.boot (findConstructorSlotNumber): Use isSubset.
(sigsMatch): Likewise.
(findDomainSlotNumber): Likewise.
* interp/define.boot (compSubDomain1): Reject for complex subdomain
predicate. Support paramterized subdomains.
* interp/daase.lisp (interpOpen): Read superdomain slot.
(getdatabase): Remove adhoc hardcoded superdomain info.
Return superdomain info stored in database.
(localnrlib): Read superdomain info.
(write-interpdb): Write superdomain info.
(database): Add superdomain slot.
* interp/g-util.boot (superType): New.
(maximalSuperType): Rework. Support parameterized subdomains.
(noteSubDomainInfo): New.
(isSubDomain): Rework.
* interp/c-util.boot (isSubset): Rework.
* interp/g-opt.boot (optEQ): Remove.
* interp/g-cndata.boot (getImmediateSuperDomain): Remove.
(maximalSuperType): Move to g-util.boot.
* interp/types.boot (%Constructor): New type specifier.
(%Instantiation): Likewise.
* interp/compiler.boot (primitiveType): Don't return $NegativeInteger.
(maxSuperType): Remove.
(hasType): Use maximalSuperType.
(satisfies): New.
(coerceSubset): Use it. Simplify.
* interp/wi2.boot (smallIntegerStep): Use maximalSuperType.
* interp/sys-constants.boot ($AtVariables): New.
($NegativeInteger): Remove.
($NonPositiveInteger): Likewise.
($CategoryNames): Category is not a category.
* interp/property.lisp: Remove Subsets property settings.
* interp/i-coerce.boot (coerceSubDomain): Simplify.
(coerceImmediateSubDomain): Remove.
(getSubDomainPredicate): Simplify.
* interp/category.boot (SourceLevelSubset): Use isSubDomain.
(MachineLevelSubset): Likewise.
* interp/modemap.boot (mergeModemap): Likewise.
(isSuperDomain): Remove.
(augModemapsFromDomain): Support parameterized subdomains.
* interp/i-util.boot (isSubDomain): Move to g-util.boot.
* Makefile.pamphlet (all-databases): New target.
* interp/Makefile.pamphlet ($(AXIOMSYS)): Push
:open-axiom-algebra-system onto *FEATURES*.
* etc/Makefile.in (all-databases): New target.
|
|
(checkRepresentation): Rename from maybeInsertViewMorphisms. Tidy.
(compDefineFunctor1): Tidy.
(doIt): Insert view morphisms if appropriate.
|
|
Forgot to commit ChangeLog.
r12471@gauss: gdr | 2008-12-14 19:11:21 -0600
Fix typo in PrimitiveRatRicDE.
r12472@gauss: gdr | 2008-12-15 01:40:45 -0600
Reformat preparse.lisp.
r12473@gauss: gdr | 2008-12-15 03:25:17 -0600
Tidy.
r12474@gauss: gdr | 2008-12-15 21:33:54 -0600
Remove unused codes.
r12475@gauss: gdr | 2008-12-15 21:57:22 -0600
.
r12476@gauss: gdr | 2008-12-15 23:07:49 -0600
Tidy fatal diagnostics.
r12477@gauss: gdr | 2008-12-15 23:50:02 -0600
Fold iterator.boot into compiler.boot.
|
|
Tidy compApplyModemap.
r12460@gauss: gdr | 2008-12-13 09:24:50 -0600
Tidy compMapCond.
r12461@gauss: gdr | 2008-12-13 10:24:14 -0600
Activate compViableModemap.
r12462@gauss: gdr | 2008-12-13 11:18:17 -0600
Remove pmatch and pmatchWithSl out of main compiler.
r12463@gauss: gdr | 2008-12-13 12:26:44 -0600
Tidy compApplyModemap.
r12464@gauss: gdr | 2008-12-13 16:39:28 -0600
Add compExclusiveOr.
r12465@gauss: gdr | 2008-12-13 16:54:58 -0600
.
r12466@gauss: gdr | 2008-12-14 15:01:33 -0600
Tidy compLogicalNot.
|
|
Tidy.
|
|
Remove quotify.
|
|
Modularize S-PROCESS.
|
|
Implement basic support for pattern matching.
r12416@gauss: gdr | 2008-12-06 18:09:19 -0600
Parse case pattern match.
r12417@gauss: gdr | 2008-12-06 21:28:30 -0600
Implement basic case pattern matching for retractable domain.
r12418@gauss: gdr | 2008-12-07 00:58:58 -0600
Refine retractability implementation.
r12419@gauss: gdr | 2008-12-07 01:39:32 -0600
Update cached Lisp translation
r12420@gauss: gdr | 2008-12-07 03:52:09 -0600
r12421@gauss: gdr | 2008-12-07 10:30:44 -0600
Implement type recovery too.
r12422@gauss: gdr | 2008-12-07 19:18:09 -0600
Simplify LET-forms and COND-forms.
r12423@gauss: gdr | 2008-12-07 21:21:12 -0600
Fix typos
r12424@gauss: gdr | 2008-12-08 01:14:54 -0600
Parse case-pattern in the interpreter.
r12427@gauss: gdr | 2008-12-08 20:32:29 -0600
Handle RetractableTo T.
|
|
* interp/g-opt.boot ($simpleVMoperators): New.
(isSimpleVMForm): Likewise.
(isFloatableVMForm): Likewise.
(optLET): Likewise. Expand backend let-forms.
* interp/c-util.boot (foldSpadcall): Look into LET and COND forms.
(replaceSimpleFunctions): Likewise.
(mutateCONDFormWithUnaryFunction): New.
(mutateLETFormWithUnaryFunction): Likewise.
* interp/compiler.boot (tryCourtesyCoercion): Split from coerce.
(compRetractAlternative): Simplify. Now try courtesy coercions
before retraction.
(compRecoverAlternative): New.
(compMatch): Simplify. Implement type recovery too.
2008-12-06 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/compiler.boot (compRetractAlternative): New.
(compMatch): Likewise. Use it to implement pattern macthing
for retractable domains.
* interp/parse.boot (parseAtAt): New.
* interp/postpar.boot (postAtAt): Likewise.
(postAlternatives): Likewise.
(postMatch): Likewise.
* interp/metalex.lisp (Keywords): Remove `otherwise' as keyword.
* interp/fnewmeta.lisp (|PARSE-Match|): New local parser.
* interp/newaux.lisp (@@): New token. Align wih interpreter.
(otherwise): Remove binding specification.
(case): Now also a Nud token.
|
|
domain expression.
|
|
* interp/wi1.boot (setqSingle): Likewise.
* interp/functor.boot (setVector4): Likewise.
(DescendCode): Abort on SETELT opcode.
(SetFunctionSlots): Likewise.
* interp/nrunfast.boot (evalSlotDomain): Likewise.
* interp/nrungo.boot (NRTevalDomain): Likewise.
* interp/showimp.boot (getDomainRefName): Match "setShellEntry".
|
|
exported list, instead of category object. Tidy.
* interp/define.boot (compDefineFunctor1): Adjust call to
compDefineExports.
|
|
compiler driver to i-syscmd.boot.
* interp/define.boot: Import "nruncomp", "functor", "package".
* interp/wi2.boot (NRTgetLocalIndex): Remove duplicate.
|
|
* interp/modemap.boot ($forceAdd): Define.
* interp/nruncomp.boot ($NRTderivedTargetIfTrue): Likewise.
($killOptimizeIfTrue): Likewise.
* interp/i-toplev.boot (processInteractive): Tidy.
* interp/c-util.boot ($compErrorMessageStack): Define.
* interp/compiler.boot (compApply): Remove.
($compTimeSum): Likewise
($resolveTimeSum): Likewise.
(compCompilerPredicate): Tidy.
(comp3): There is no such thing as KAPPA.
|
|
* interp/compiler.boot: Likewise.
* interp/define.boot: Likewise.
* interp/sys-globals.boot: Likewise.
* interp/wi1.boot ($frontier): Removed, as unused.
* interp/wi2.boot ($attributesName): Likewise.
($goGetList): Likewise.
($NRTaddList): Likewise.
($NRTloadTimeAlist): Likewise.
($lisplibMissingFunctions): Likewise.
($alternateViewList): Likewise.
|
|
* interp/template.boot: Move non-dead code where appropriate.
Remove file.
* boot/ast.boot (bfQ): Improve.
|
|
(COMP): Likewise. Rename to backendCompile.
(compileFileQuietly): Move to c-util.boot.
(compAndDefine): Likewise.
(compQuietly): Likewise.
(compileQuitely): Likewise.
|
|
(pushLocalVariable): Likewise.
(mutateToBackendCode): Likewise.
(transformToBackendCode): Likewise
* interp/comp.lisp (FLUIDVARS): Remove.
(LOCVARS): Likewise.
(SPECIALVARS): Likewise.
($CLOSEDFNS): Likewise.
(COMP-NAM): Likewise.
(COMP-TRAN): Likewise.
(COMP-TRAN-1): Likewise.
* interp/compiler.boot (compWithMappingMode): Use
transformToBackendCode.
(COMP-1): Use backendCompileNEWNAM.
* interp/i-analy.boot (bottomUpCompile): Use mutateToBackendCode.
|
|
* interp/compiler.boot (COMP): Use it.
* interp/comp.lisp (COMP-2): Remove.
|
|
* interp/c-util.boot (isKnownCategory): New.
(diagnoseUknownType): Use it. Expand.
* interp/compiler.boot (compCat): Use it.
|
|
* interp/compiler.boot (quietlyIfInteractive): Use it.
(compQuietly): Likewise.
(compileQuietly): Likewise.
|
|
($optReplaceSimpleFunctions): Likewise.
(setCompilerOptimizations): Likewise. Set them.
(proclaimCapsuleFunction): New.
* interp/compiler.boot (compileSpad2Cmd): Handle option ')optimize'.
* interp/define.boot (compile): Proclaim if appropriate.
* interp/sys-driver.boot (compileSpadLibrary): Honor optimization
level set on commmand line.
* interp/sys-utility.boot (getVMType): Tidy.
* interp/types.boot (%Void): Likewise.
(IntegerSection): New.
|
|
* lib/cfuns-c.c (openaxiom_is_path_separator): New.
(oa_dirname): Define.
(writeablep): Use it.
* algebra/fname.spad.pamphlet (writable?$FileName): Tidy.
|
|
* interp/modemap.boot (putDomainsInScope): Likewise.
* interp/wi1.boot (compMacro): Likewise.
|
|
* interp/compiler.boot (COMP-1): Likewise.
|
|
* interp/sys-driver.boot (AxiomCore::%sysInit): Have ECL quiet.
(initializeGlobalState): Initialize new world states.
* interp/define.boot (compDefine): Tidy.
(compDefineCategory2): Explicitly initialize $TOP_LEVEL and
$definition.
* interp/daase.lisp (|fillDatabasesInCore|): Use
$buildingSystemAlgebra.
* interp/compiler.boot (compMakeDeclaration): Explicitly
initialize $insideExpressionIfTrue.
* boot/translator.boot (AxiomCore::%sysInit): Supper GCL and ECL
compiler notes, but ask for warning.
|
|
* interp/sys-driver.boot (initializeGlobalState): Record value for
--system-algebra.
* interp/sys-globals.boot ($buildingSystemAlgebra): Declare.
* interp/compiler.boot (compileSpad2Cmd): Don't build local
database if compiling system algebra.
* interp/i-syscmd.boot (compileAsharpCmd1): Likewise.
* algebra/Makefile.pamphlet (%.NRLIB/code.$(FASLEXT)): Use
--system-algebra.
(SPADPRSR.NRLIB/code.$(FASLEXT)): Likewise.
(PARSER.NRLIB/code.$(FASLEXT)): Likewise.
|
|
* interp/c-util.boot: Likewise.
* interp/comp.lisp: Likewise.
* interp/compiler.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/def.lisp: Likewise.
* interp/define.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/i-eval.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/iterator.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/newaux.lisp: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/package.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/pf2atree.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/postpar.boot: Likewise.
* interp/property.lisp: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/spad.lisp: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
* interp/Makefile.pamphlet (OCOBJS): Remove apply.$(OBJEXT).
|
|
(getConstructorMode): Likewise.
(isConstructorForm): Likewise.
|
|
|
|
* interp/compiler.boot (coerceExtraHard): Forms with type Category
are categories.
|
|
symbols.
* algebra/any.spad.pamphlet: Use nil for empty list.
* algebra/boolean.spad.pamphlet: Fix quoting.
|
|
string2BootTree.
* boot/translator.boot (BOOTTOCL): Tidy.
(BOOTTOCLC): Likewise.
(BOOTTOCLLINES): Likewise.
(BOOTTOCLCLINES): Likewise.
(string2BootTree): Define.
(translateToplevelExpression): Tidy.
(translateToplevel): Handle atoms. Tidy.
(shoePCompileTrees): Don't use bStreamPackageNull.
* interp/boot-pkg.lisp: Import $interactiveMode and string2BootTree.
* interp/util.lisp (string2BootTree): Remove.
(OLD-BOOT::BOOT): Likewise.
* interp/bootlex.lisp (boot): Likewise.
(boot-parse-1): Likewise.
* interp/compiler.boot (compileNot): Fix thinko.
* interp/sys-globals.boot ($InteractiveMode): Don't define here.
|
|
(parseNotEqual): Likewise.
* interp/compiler.boot (compCompilerPredicate): New.
(compileNot): Use it.
* interp/define.boot (compSubDomain1): Likewise.
(doItIf): Likewise.
* interp/bootlex.lisp (boot): Set $nornamizeTree.
* algebra/Makefile.pamphlet (axiom_algebra_layer_9): Move from
layer 4 to here.
|
|
(getFormModemaps): Likewise.
(compComma): New.
* interp/c-util.boot (isTupleInstance): New.
(isHomoegenousVarargSignature): Likewise.
(enoughArguments): Likewise.
(wantArgumentsAsTuple): Likewise.
* interp/apply.boot (reshapeArgumentList): New.
(compFormWithModemap): Use it.
|