aboutsummaryrefslogtreecommitdiff
path: root/src/interp/define.boot
AgeCommit message (Collapse)AuthorFilesLines
2009-03-08 * interp/fnewmeta.lisp (PARSE-Import): Parse extern entitydos-reis1-1/+4
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.
2009-03-01 * interp/compiler.boot (compTopLevel): Initialize list ofdos-reis1-6/+13
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'.
2009-02-28 * interp/define.boot (NRTPARSE): Remove.dos-reis1-49/+7
(mkCategoryPackage): Remove dead code. (compDefineFunctor1): Tidy. (compDefineCapsuleFunction): Likewise. (compileCases): Likewise.
2009-02-22 * interp/compiler.boot (compRetractAlternative): Don't storedos-reis1-1/+1
pointers to the environment. (compRecoverAlternative): Likewise. (compMatch): Likewise. (compIterator): Likewise. (compIteratorV): Likewise. * interp/define.boot (checkRepresentation): Likewise. * interp/info.boot (actOnInfo): Likewise.
2009-01-12 * interp/category.boot: Miscellaneous cleanup.dos-reis1-62/+32
* 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.
2009-01-11 * interp/compiler.boot (getSuccessEnvironment): Don't specializedos-reis1-3/+3
on `has'. (getInverseEnvironment): Likewise. * algebra/equation2.spad.pamphlet (factorAndSplit$Equation): Fix misuses of `has'. * interp/functor.boot (mkTypeForm): Rename from mkDomainConstructor.
2009-01-06 * interp/sys-utility.boot (getVMType): IndexList are lists.dos-reis1-28/+52
* 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.
2009-01-032009-01-03 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-8/+10
* 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.
2008-12-28 * interp/define.boot (compDefineFunctor1): Remove dead code.dos-reis1-15/+4
(compile): Likewise. * interp/functor.boot (isPackageFunction): Remove. * interp/wi2.boot (compDefineFunctor1): Remove dead code.
2008-12-21 * interp/define.boot (checkRepresentation): Take a thirddos-reis1-8/+19
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.
2008-12-20 * interp/define.boot (checkRepresentation): Take a seconddos-reis1-5/+10
argument. For domain extensions, warn about useless assignment to Rep, and syntactically conflicting assignment to Rep.
2008-12-19 * interp/define.boot (insertViewMorphisms): New.dos-reis1-60/+69
(checkRepresentation): Rename from maybeInsertViewMorphisms. Tidy. (compDefineFunctor1): Tidy. (doIt): Insert view morphisms if appropriate.
2008-12-16 r12470@gauss: gdr | 2008-12-14 17:43:50 -0600dos-reis1-22/+7
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.
2008-12-12 r12452@gauss: gdr | 2008-12-12 09:04:43 -0600dos-reis1-2/+7
Add some documentation.
2008-12-01 * interp/define.boot (compile): Don't check for PAC names.dos-reis1-1/+0
* 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.
2008-12-01 * interp/define.boot (disallowNiAttribute): Remove.dos-reis1-5/+3
(compDefineFunctor1): Don't use it anymore. (compCategoryItem): Filter out nil attributes here.
2008-11-30 * interp/define.boot (mustInstantiate): Fix thinko introduced bydos-reis1-4/+4
earlier tweaks. (mkExplicitCategoryFunction): Likewise.
2008-11-29 * interp/define.boot (compCapsuleInner): Call processFunctor.dos-reis1-1/+1
* interp/wi2.boot (compCapsuleInner): Likewise. * interp/functor.boot (processFunctorOrPackage): Remove. (processPackage): Likewise. (subTree): Likewise. (setPackageLocals): Likewise. (PackageDescendCode): Likewise.
2008-11-29 * interp/nruncomp.boot (buildFunctor): Remov reference to $NRTvec.dos-reis1-1/+1
* interp/nrunfast.boot ($NRTvec): Don't define.
2008-11-27Fix spelling.dos-reis1-1/+1
2008-11-26 * interp/define.boot (compSignature): New. Split fromdos-reis1-38/+42
compCategoryItem. (compCategoryItem): Use it. Tidy. (quotifyCategoryArgument): Remove. (mkEvalableCategoryForm): Tidy.
2008-11-24 * interp/lisplib.boot (compDefineExports): Tidy.dos-reis1-1/+1
* interp/define.boot (compDefineFunctor1): Adjust call.
2008-11-18 * interp/sys-utility.boot (loadExports): New.dos-reis1-13/+21
* 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.
2008-11-17 * interp/lisplib.boot (compDefineExports): Now take operationdos-reis1-2/+1
exported list, instead of category object. Tidy. * interp/define.boot (compDefineFunctor1): Adjust call to compDefineExports.
2008-11-17 * lisp/core.lisp.in (|getOptionValue|): Make second argument optional.dos-reis1-3/+11
* 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.
2008-11-16 * interp/define.boot: More cleanup.dos-reis1-10/+14
* interp/iterator.boot: Likewise.
2008-11-16 * interp/c-util.boot: Clean up.dos-reis1-2/+2
* 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.
2008-11-16 * interp/package.boot: Fold content into functor.boot. Delete.dos-reis1-1/+0
* interp/Makefile.pamphlet: Adjust.
2008-11-15 * interp/compiler.boot: Import "msgdb", not "c-util". Movedos-reis1-3/+6
compiler driver to i-syscmd.boot. * interp/define.boot: Import "nruncomp", "functor", "package". * interp/wi2.boot (NRTgetLocalIndex): Remove duplicate.
2008-11-15 * interp/spad.lisp (incTimeSum): Remove.dos-reis1-1/+1
* 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.
2008-11-15 * interp/category.boot: Define global vars.dos-reis1-14/+55
* 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.
2008-11-03 * interp/postpar.boot (postcheckTarget): Likewise.dos-reis1-8/+2
(isPackageType): Likewise. * interp/lisplib.boot (getSlotFromDomain): Remove. * interp/macros.lisp (|saySpadMsg|): Remove. * interp/vmlisp.lisp (qsetq): Remove. (STATEP, FUNARGP, PAPPP): Likewise. (LISTOFQUOTES, LISTOFFREES): Likewise.
2008-11-03 * interp/Makefile.pamphlet (template.$(FASLEXT)): Remove.dos-reis1-8/+7
* interp/template.boot: Move non-dead code where appropriate. Remove file. * boot/ast.boot (bfQ): Improve.
2008-10-24 Add basic support for stream client socket.dos-reis1-4/+4
* 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.
2008-10-23Don't write modemap info in main module anymoredos-reis1-1/+1
2008-10-23Don't write modemap infos in main module anymoredos-reis1-1/+1
2008-10-16 * interp/compiler.boot (backendCompile1): Move to c-util.boot.dos-reis1-5/+5
(COMP): Likewise. Rename to backendCompile. (compileFileQuietly): Move to c-util.boot. (compAndDefine): Likewise. (compQuietly): Likewise. (compileQuitely): Likewise.
2008-10-13 Add support for Lisp declarations in generated Lisp code.dos-reis1-1/+6
* 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.
2008-10-07 * interp/define.boot (compCategoryItem): Don't check signatures yet.dos-reis1-2/+0
* interp/c-util.boot (isKnownCategory): New. (diagnoseUknownType): Use it. Expand. * interp/compiler.boot (compCat): Use it.
2008-10-06 * interp/functor.boot (DescendCode): Update capsule directory onlydos-reis1-3/+8
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.
2008-10-05 * interp/c-util.boot ($optExportedFunctionReference): New.dos-reis1-2/+15
(setCompilerOptimizations): Set it. * interp/define.boot ($capsuleFunctionStack): New. (spadCompileOrSetq): Collect capsule function definitions. (compFunctorBody): Compile them at end of capsule.
2008-10-05 * interp/c-util.boot (isAtomicForm): New.dos-reis1-2/+2
(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.
2008-10-04 * interp/c-util.boot (clearReplacement): New.dos-reis1-0/+3
(getFunctionReplacement): Likewise. (replaceSimpleFunctions): Likewise. * interp/define.boot (spadCompileOrSetq): Use it.
2008-10-01 * interp/c-util.boot ($optProclaim): New.dos-reis1-0/+5
($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.
2008-09-20 * include/cfuns.h (oa_dirname): Declare.dos-reis1-0/+7
* lib/cfuns-c.c (openaxiom_is_path_separator): New. (oa_dirname): Define. (writeablep): Use it. * algebra/fname.spad.pamphlet (writable?$FileName): Tidy.
2008-09-18 * interp/c-util.boot (displayAmbiguousSignatures): New.dos-reis1-4/+2
(ambiguousSignatureError): Likewise. * interp/define.boot (hasSigInTargetCategory): Use it to reject ambiguous lhs of a definition. * interp/lisplib.boot (leaveIfErrors): Fix typo. * algebra/aggcat.spad.pamphlet: Disambiguate definitions. * algebra/card.spad.pamphlet: Likewise. * algebra/dhmatrix.spad.pamphlet: Likewise. * algebra/divisor.spad.pamphlet: Likewise. * algebra/expexpan.spad.pamphlet: Likewise. * algebra/ffcat.spad.pamphlet: Likewise. * algebra/ffcg.spad.pamphlet: Likewise. * algebra/ffnb.spad.pamphlet: Likewise. * algebra/ffp.spad.pamphlet: Likewise. * algebra/generic.spad.pamphlet: Likewise. * algebra/groebf.spad.pamphlet: Likewise. * algebra/modring.spad.pamphlet: Likewise. * algebra/moebius.spad.pamphlet: Likewise. * algebra/mts.spad.pamphlet: Likewise. * algebra/naalgc.spad.pamphlet: Likewise. * algebra/ore.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/pf.spad.pamphlet: Likewise. * algebra/poly.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/prtition.spad.pamphlet: Likewise. * algebra/radix.spad.pamphlet: Likewise. * algebra/rep2.spad.pamphlet: Likewise. * algebra/stream.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise. * algebra/tree.spad.pamphlet: Likewise. * algebra/triset.spad.pamphlet: Likewise. * algebra/view2D.spad.pamphlet: Likewise. * algebra/sf.spad.pamphlet: Remove signature for hash. * algebra/si.spad.pamphlet: Likewise.
2008-09-10 * interp/define.boot (displayMissingFunctions): Fix typo.dos-reis1-1/+1
2008-09-012008-09-01 Martin Rubey <martin.rubey@univie.ac.at>dos-reis1-9/+70
Gabriel Dos Reis <gdr@cs.tamu.edu> Fix AW/431 * algebra/ore.spad.pamphlet (SpareUnivariateSkewPolynomial): Implement **. 2008-09-01 Gabriel Dos Reis <gdr@cs.tamu.edu> Make ^ an alias for **. * interp/postpar.boot (postAtom): Replace "^" with "**". * interp/format.boot (reportOpSymbol): Announce that "^" is an alias for "**". * interp/nrungo.boot (compiledLookup): Be sure to look for "**" when operation is "^". * interp/define.boot (noteCapsuleFunctionDefinition): New. (clearCapsuleFunctionTable): Likewise. (noteExport): Likewise. (clearExportsTable): Likewise. (compDefineCapsuleFunction): Rename "^" to "**". Take a note of the capsule function being compiled. (compCapsule): Clear previous capsule functions table. (doItIf): Keep track of predicate validity. (compCategory): Clear previous exports table. (compCategoryItem): Take notes of declared attributes and signatures. * algebra/catdef.spad.pamphlet (DivisionRing): Remove duplicate definition for "^". (Group): Likewise. (Monoid): Likewise. (SemiGroup): Likewise. * algebra/poly.spad.pamphlet (PolynomialRing): Remove duplicate definitins of "^". (SparseUnivariatePolynomial): Likewise. * algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial): Remove duplicate definitions for "^". * algebra/interval.spad.pamphlet (Interval): Remove duplicate definition for "^". * algebra/curve.spad.pamphlet (FunctionFieldCategory): Remove duplicate declaration for represents. * algebra/strap/: Update cached Lisp translations. * share/algebra: Update databases.
2008-08-29Add more explicit importsdos-reis1-11/+11
2008-08-29 * interp/c-util.boot (isKnownType): New.dos-reis1-0/+2
(diagnoseUknownType): Likewise. * interp/define.boot (compCategoryItem): Use it. Check for unknown types.