Age | Commit message (Collapse) | Author | Files | Lines |
|
(SourceLevelSubsume): Remove.
(SourceLevelSubset): Likewise.
* interp/sys-globals.boot: Likewise.
* interp/define.boot: Tidy.
* interp/functor.boot: Likewise.
* interp/info.boot: Likewise.
* algebra/si.spad.pamphlet: Don't set $noSubsets.
* algebra/fortpak.spad.pamphlet: Don't set $noSubsumption.
* algebra/fortran.spad.pamphlet: Likewise.
* algebra/gdirprod.spad.pamphlet: Likewise.
* algebra/mkfunc.spad.pamphlet: Likewise.
* algebra/oct.spad.pamphlet: Likewise.
* algebra/vector.spad.pamphlet: Likewise.
|
|
(doIt): Use it for capsule-level conditional expressions.
|
|
* interp/fnewmeta.lisp (PARSE-Sexpr1): Disable negative integers
in data. A facility not actually used in Spad code.
|
|
* interp/define.boot (doIt): Tidy conditional case.
* boot/tokens.boot: 'fourth' is a now a builtin function.
|
|
|
|
* algebra/strap/TSETCAT-.lsp: Likewise.
|
|
body instead of previous previous version of it.
* algebra/Makefile.pamphlet: Remove ES from bootstrap layer.
Build it (and dependencies) at layer 1.
* algebra/strap/ES.lsp: Remove.
* algebra/strap/ES-.lsp: Likewise.
* algebra/boolean.spad.pamphlet (Boolean): Don't use outputForm.
|
|
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.
|
|
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'.
|
|
(mkCategoryPackage): Remove dead code.
(compDefineFunctor1): Tidy.
(compDefineCapsuleFunction): Likewise.
(compileCases): Likewise.
|
|
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: 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.
|
|
* 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.
|
|
* 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.
|
|
(compile): Likewise.
* interp/functor.boot (isPackageFunction): Remove.
* interp/wi2.boot (compDefineFunctor1): Remove dead code.
|
|
argument. Provide view morphisms for domain extensions.
(compCapsule): Adjust call.
* algebra/alql.spad.pamphlet (DataList): Use per and rep.
* algebra/fortmac.spad.pamphlet (MachineInteger): Likewise.
* algebra/fortran.spad.pamphlet (FortranExpression): Likewise.
* algebra/integer.spad.pamphlet (NonNegativeInteger): Likewise.
(PositiveInteger): Likewise.
* algebra/ituple.spad.pamphlet (InfiniteTuple): Likewise.
* algebra/matrix.spad.pamphlet (RectangularMatrix): Likewise.
* algebra/pf.spad.pamphlet (InnerPrimeField): Likewise.
* algebra/radix.spad.pamphlet (BinaryExpansion): Likewise.
(DecimalExpansion): Likewise.
(HexadecimalExpansion): Likewise.
|
|
argument. For domain extensions, warn about useless assignment to
Rep, and syntactically conflicting assignment to Rep.
|
|
(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.
|
|
Add some documentation.
|
|
* interp/g-opt.boot (optCall): Likewise.
* interp/functor.boot (SetFunctionSlots): Likewise.
(mkOperatorEntry): Lose first parameter.
(optPackageCall): Remove.
* interp/category.boot (mkCategory): Document. Adjust call to
mkOperatorEntry.
|
|
(compDefineFunctor1): Don't use it anymore.
(compCategoryItem): Filter out nil attributes here.
|
|
earlier tweaks.
(mkExplicitCategoryFunction): Likewise.
|
|
* interp/wi2.boot (compCapsuleInner): Likewise.
* interp/functor.boot (processFunctorOrPackage): Remove.
(processPackage): Likewise.
(subTree): Likewise.
(setPackageLocals): Likewise.
(PackageDescendCode): Likewise.
|
|
* interp/nrunfast.boot ($NRTvec): Don't define.
|
|
|
|
compCategoryItem.
(compCategoryItem): Use it. Tidy.
(quotifyCategoryArgument): Remove.
(mkEvalableCategoryForm): Tidy.
|
|
* interp/define.boot (compDefineFunctor1): Adjust call.
|
|
* interp/sys-driver.boot (initializeGlobalState): Set
$compileDefaultsOnly.
* interp/lisplib.boot (isFunctor): Load exports file if present.
* interp/define.boot (compDefineCategory2): Don't write out
category load time stuff if we are compiling only defaults.
* interp/boot-pkg.lisp: Import loadFileIfPresent.
* lisp/core.lisp.in (|loadFileIfPresent|): New.
(|loadIfPresent|): Use it.
|
|
exported list, instead of category object. Tidy.
* interp/define.boot (compDefineFunctor1): Adjust call to
compDefineExports.
|
|
* interp/sys-driver.boot (initializeGlobalState): Set
$compileExportsOnly.
* interp/lisplib.boot (compDefineExports): New.
* interp/define.boot (skipCategoryPackage?): New.
(compDefineCategory1): Use it.
(compDefineFunctor): Don't compile to NRLIB if interested only in
exports.
(compDefineFunctor1): Honor $compileExportsOnly.
* interp/sys-macros.lisp (|withOutputFile|): New.
* interp/sys-utility.boot (quoteForm): Likewise.
|
|
* interp/iterator.boot: Likewise.
|
|
* interp/database.boot: Likewise.
* interp/debug.lisp: Likewise.
* interp/define.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/macros.lisp: Likewise.
* interp/nrungo.boot: Likewise.
* interp/preparse.lisp: Likewise.
* interp/spad.lisp: Likewise.
* interp/sys-macros.lisp: Likewise.
* interp/trace.boot: Likewise.
* interp/types.boot: Likewise.
* interp/vmlisp.lisp: Likewise.
* interp/word.boot: Likewise.
|
|
* interp/Makefile.pamphlet: Adjust.
|
|
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.
|
|
(isPackageType): Likewise.
* interp/lisplib.boot (getSlotFromDomain): Remove.
* interp/macros.lisp (|saySpadMsg|): Remove.
* interp/vmlisp.lisp (qsetq): Remove.
(STATEP, FUNARGP, PAPPP): Likewise.
(LISTOFQUOTES, LISTOFFREES): Likewise.
|
|
* interp/template.boot: Move non-dead code where appropriate.
Remove file.
* boot/ast.boot (bfQ): Improve.
|
|
* lib/sockio-c.c (oa_inet_pton): Define.
(oa_get_host_address): Likewise.
* algebra/net.spad.pamphlet (IP4Address): New.
(NetworkClientSocket): Likewise.
(InetClientStreamSocket): Likewise.
* algebra/data.spad.pamphlet (DataArray): Rename from DataBuffer.
(ByteBuffer): Rename from ByteArray. Reimplement.
* algebra/exposed.lsp.pamphlet: Expose IP4Address,
InetClientStreamSocket, NetworkClientSocket.
|
|
|
|
|
|
(COMP): Likewise. Rename to backendCompile.
(compileFileQuietly): Move to c-util.boot.
(compAndDefine): Likewise.
(compQuietly): Likewise.
(compileQuitely): Likewise.
|
|
* interp/i-map.boot (compileCoerceMap): Tell backend that
minivector is global.
* interp/i-spec1.boot (compileADEFBody): Likewise.
* interp/slam.boot (reportFunctionCompilation): Likewise.
* interp/define.boot (spadCompileOrSetq): Tell backend to ignore
last argument for simple functions.
* interp/c-util.boot (skipDeclarations): New.
(lastDeclarationNode): Likewise.
(declareGlobalVariables): Likewise.
(transformToBackendCode): Use them to allow for Lisp
declarations in middle-end forms.
* interp/sys-driver.boot (AxiomCore::%sysInit): Reading Lisp level
Floating point numbers default to double precision.
* algebra/strap: Update.
|
|
* interp/c-util.boot (isKnownCategory): New.
(diagnoseUknownType): Use it. Expand.
* interp/compiler.boot (compCat): Use it.
|
|
for non-default implementations.
* interp/c-util.boot ($capsuleDirectory): New.
(clearCapsuleDirectory): Likewise.
(getCapsuleDirectoryEntry): Likewise.
(updateCapsuleDirectory): Likewise.
(foldSpadcall): Likewise.
(foldExportedFunctionReferences): Likewise.
* interp/define.boot (compFunctorBody): Use it.
|
|
(setCompilerOptimizations): Set it.
* interp/define.boot ($capsuleFunctionStack): New.
(spadCompileOrSetq): Collect capsule function definitions.
(compFunctorBody): Compile them at end of capsule.
|
|
(replaceSimpleFunctions): Use it. Simplify back to original
implementation.
(proclaimCapsuleFunction): Constructor parameters are generic.
* interp/sys-utility.boot (getVMType): Handle wildcard.
* algebra/stream.spad.pamphlet: Don't build STREAM with
proclamation on -- it currently violates type rules.
|
|
(getFunctionReplacement): Likewise.
(replaceSimpleFunctions): Likewise.
* interp/define.boot (spadCompileOrSetq): Use it.
|