aboutsummaryrefslogtreecommitdiff
path: root/src/interp/sys-constants.boot
AgeCommit message (Collapse)AuthorFilesLines
2011-10-30 * interp/sys-macros.lisp (MKPF1): Tidy.dos-reis1-0/+3
* interp/sys-constants.boot ($QueryVariables): New. * interp/define.boot ($whreDecls): Remove. (checkRepresentation): Take a DB as first parameter. Adjust Callers. (buildConstructorCondition): New (deduceImplicitParameters): Likewise (compDefineCategory2): Use it. (compDefineFunctor1): Likewise. (typeDependencyPath): Remove. (inferConstructorImplicitParameters): Likewise. * interp/compiler.boot (compTopLevel): Do not bind $whereDecls. (recordDeclarationInSideCondition): Take additional reference parameter to the list of processed decls. Adjust callers. (compWhere): Record any side decls in compilation environment. * interp/c-util.boot (makeCompilationData): Initialize implicit data. (dbParameters): New. (dbImplicitData): New accessor macro. (dbImplicitParameters): New. (dbImplicitConstraints): Likewise. (dbSubstituteFormals): Likewise. (dbSubstituteQueries): Likewise. * interp/database.boot (fixUpPredicate): Tidy. * boot/utility.boot (applySubst): Early exit on identity substitution. (applySubst!): Likewise. (applySubstNQ): Likewise. * boot/ast.boot (bfIS1): Accept pattern matching against Boolean constant true.
2011-10-17 * lisp/core.lisp.in: Add ref and deref to support references.dos-reis1-1/+1
* interp/sys-constants.boot ($OperatorFunctionNames): Add "by" and "..". * interp/spad.lisp: Tidy. * interp/spad-parser.boot: New parsers. * interp/preparse.lisp: Remove dead codes. * interp/parsing.lisp (MATCH-ADVANCE-KEYWORD): Remove. * interp/parse.boot (doParseCategory): Rename from parseCategory. * interp/newaux.lisp: Tidy. * interp/lexing.boot (getSpadToken): New. (Keywords): Remove 'when'. (matchKeywordNext): New. (matchSpecial): Likewise. (matchAdvanceSpecial): Likewise. (matchAdvanceGlyph): Likewise. * interp/fnewmeta.lisp: Move variable definitions to preparse.lisp. Remove Lisp based parsers. Remove file. * interp/c-doc.boot (recordAttributeDocumentation): Fix thinko. * interp/bootlex.lisp (GET-BOOT-TOKEN): Remove. * interp/Makefile.in: Adjust dependencies. * boot/parser.boot (bpChar): New. (bpPattern): Allow character constants.
2011-09-07 * interp/lisplib.boot (finalizeLisplib): Finalize documentaiondos-reis1-0/+5
only if not bootstrapping. (isFunctor): Tidy. * interp/g-util.boot (superType): Tidy. * interp/database.boot (getDualSignature): Rename from getDualSignatureFromDB. Adjust callers. * interp/c-util.boot (isKnownCategory): Remove. (diagnoseUnknownType): Use isCategoryForm. * interp/bootlex.lisp (GET-INTEGER-IN-RADIX): Use SPAD_SYNTAX_ERROR. * interp/metalex.lisp (GET-STRING-TOKEN): Likewise. * interp/parsing.lisp (MUST): Likewise. * algebra/boolean.spad.pamphlet (Refrence) [coerce]: Bypass conversion to Identifier. * algebra/domain.spad.pamphlet (ContructorKind): Tidy.
2011-08-20 * interp/sys-utility.boot (constructorDB): New.dos-reis1-5/+0
* interp/daase.lisp (dbNiladic?): New. Use it to access niladic property. of a constructor. * interp/database.boot: Import daase. (niladicContructorFromDB): Use it. * interp/define.boot (compDefineCategory): Don't write compilerInfo garbage. (compDefineFunctor1): Likewise. (compDefineCategory2): Set niladic property. (compDefineFunctor): Likewise. * interp/lisplib.boot (loadLib): Do not set niladic property. It is now a side-effect of loading. (loadLibNoUpdate): Do not check for version. (makeConstructorAutoload): Do not set niladic property. (initializeLisplib): Do not emit code to check version. (mkCtorDBForm): New. (writeNiladic?): Likewise. (finalizeLisplib): Do not set niladic property. * interp/patches.lisp: Remove deadcode. * interp/sys-constants.boot (MAJOR-VERSION): Remove.
2011-06-21 * interp/compiler.boot: Remove reference to $SingleFloat.dos-reis1-28/+0
* interp/foam_l.lisp: Likewise. * interp/fortcall.boot: Likewise. * interp/sys-constants.boot: Likewise. * lisp/core.lisp.in: Likewise.
2011-05-02more cleanupsdos-reis1-22/+0
2011-05-02more cleanupdos-reis1-4/+0
2011-03-20More cleanupsdos-reis1-0/+4
2011-02-25 * boot/tokens.boot: makeSymbol is not a builtin function.dos-reis1-1/+1
* boot/ast.boot: Use makeSymbol in place of INTERN. * boot/parser.boot: Likewise. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise. * interp/alql.boot: Likewise. * interp/as.boot: Likewise. * interp/ax.boot: Likewise. * interp/bc-matrix.boot: Likewise. * interp/bc-solve.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-search.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-map.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/g-util.boot: Likewise. * interp/functor.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/postpar.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/parse.boot: Likewise. * interp/packtran.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/newfort.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/modemap.boot: Likewise. * interp/mark.boot: Likewise. * interp/intfile.boot: Likewise. * interp/interop.boot: Likewise. * interp/incl.boot: Likewise. * interp/word.boot: Likewise. * interp/wi2.boot: Likewise. * interp/wi1.boot: Likewise. * interp/trace.boot: Likewise. * interp/topics.boot: Likewise. * interp/sys-constants.boot: Likewise. * interp/showimp.boot: Likewise. * interp/scan.boot: Likewise.
2011-02-24 * interp/c-util.boot (isSimple): Accept constructor instantiations.dos-reis1-3/+1
* algebra/formula.spad.pamphlet: Avoid Lispisms. * algebra/mathml.spad.pamphlet: Likewise. * algebra/op.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise.
2011-02-24some cleanupsdos-reis1-11/+24
2011-02-09 Add MappingCategory as a (builtin) category.dos-reis1-1/+2
* interp/sys-constants.boot ($CategoryNames): Include MappingCategory. * interp/g-cndata.boot (unabbrevSpecialForms): Handle MappingCategory, RecordCategory, and UnionCategory. * interp/buildom.boot (MappingCategory): New. * interp/compiler.boot: Elaboration MappingCategory forms. * interp/g-error.boot (needsToSplitMessage): Fix thinko from type-based dispatch done by the Boot translator. * interp/nrunfast.boot (builtinConstructor?): New. (generalizedBuiltinConstructor?): Likewise. (lazyMatch): Use them. (newHasTest): Properly recognize all flavours of category forms.
2011-02-09 * interp/sys-constants.boot ($PrimitiveDomainNames): Remove.dos-reis1-12/+1
* interp/category.boot (mkCategory): Drop test for primitive domains.
2010-12-28Character constants clean updos-reis1-2/+2
2010-12-11Clean updos-reis1-1/+1
2010-07-25 * interp/cattable.boot: Use %true for truth value in VM expressions.dos-reis1-8/+0
* interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/mark.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/slam.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/sys-constants.boot: Remove $true and $false as unused.
2010-07-10 * interp/sys-constants.boot ($noEnv): Remove.dos-reis1-3/+0
* interp/info.boot (actOnInfo): Adjust.
2010-06-28 * interp/sys-constants.boot ($SystemInlinableConstructorNames):dos-reis1-0/+1
Include Pair.
2010-06-23 * interp/sys-constants.boot ($SystemInlinableConstructorNames):dos-reis1-0/+1
Include Maybe.
2010-05-23 * boot/tokens.boot: gensym is now candidate for renaming.dos-reis1-3/+3
* boot/ast.boot: Replace GENSYM with gensym. * interp/buildom.boot: Likewise. * interp/clam.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/macex.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/parse.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/postpar.boot: Likewise. * interp/ptrees.boot: Likewise. * interp/server.boot: Likewise. * interp/slam.boot: Likewise. * interp/sys-constants.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise.
2010-05-09More cleanupsdos-reis1-7/+7
2010-02-17 * interp/sys-constants.boot ($SystemInlinableConstructorNames):dos-reis1-1/+2
Include Void. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include VOID. (axiom_algebra_layer_14): Loose it.
2009-09-08 * boot/ast.boot: Support "pointer" as simple datatype.dos-reis1-0/+5
* interp/compiler.boot (getBasicFFIType): SystemPointer is an FFI type. * algebra/data.spad.pamphlet (SystemPointer): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include SYSPTR.
2009-09-05 * algebra/data.spad.pamphlet: Cleanup.dos-reis1-0/+7
* interp/compiler.boot (getBasicFFIType): Handle 64-bit integer types.
2009-09-02 * interp/cstream.boot: Cleanup.dos-reis1-0/+9
* interp/g-boot.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/mark.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/posit.boot: Likewise. * interp/sys-constants.boot: Define more constants.
2009-06-13 * interp/sys-constants.boot ($defaultOptimizationLevel): New.dos-reis1-0/+3
* interp/sys-driver.boot (initializeGlobalState): Use it for default initialization level.
2009-06-07 * algebra/domain.spad.pamphlet (DomainTemplate): New.dos-reis1-1/+1
(FunctorData): Likewise. (functorData$DomainConstructor): Likewise.
2009-05-28 * interp/newaux.lisp: Bot / and /\ are gliphs.dos-reis1-1/+1
* interp/sys-constants.boot ($OperatorFunctionNames): Include /\ and \/. * interp/fnewmeta.lisp (|PARSE-ReductionOp|): Tidy. * interp/metalex.lisp (|PARSE-OperatorFunctionName|): Likewise. * algebra/boolean.spad.pamphlet (PropositionalLogic): Use plain syntax for operators. (Logic): Likewise. (Boolean): Likewise. (KleeneTrivalentLogic): Likewise.
2009-05-25 * interp/sys-constants.boot ($OperatorFunctionNames): New.dos-reis1-0/+9
* interp/metalex.lisp (|PARSE-OperatorFunctionName|): New. Use it. * interp/fnewmeta.lisp (|PARSE-Category|): Handle operator function names.
2009-05-05 Fix SF/2785271dos-reis1-5/+0
* interp/sys-constants.boot ($Primitives): Remove. * interp/br-con.boot (conOpPage1): Replace $Primitives by $DomainNames. (dbShowConsDoc1): Likewise. * interp/buildom.boot ($nonLisplibDomains): Likewise. * interp/br-op2.boot (kFormatSlotDomain): isConstructorName. * interp/br-saturn.boot (bfConform1): Handle string literals as constructor arguments.
2009-04-23 * interp/sys-constants.boot ($SystemInlinableConstructorNames):dos-reis1-0/+1
Include Identifier. * interp/compiler.boot (compElt): Fix up 0 and 1 shenannigan. * algebra/boolean.spad.pamphlet (Reference): Use Identifier. * algebra/Makefile.pamphlet (axiom_algebra_bootstrap): Remove REF. (axiom_algebra_bootstrap_last_layer): Likewise. * algebra/strap/REF.lsp: Remove.
2009-04-20 * interp/sys-constants.boot ($Identifier): New.dos-reis1-0/+3
* interp/compiler.boot (compQuote): Use the target mode if appropriate. * interp/i-spec2.boot (upQUOTE): Likewise. * algebra/syntax.spad.pamphlet: Use Identifier in lieu of Symbol.
2009-03-26 * boot/ast.boot (nativeType): Accept int16 and int32.dos-reis1-0/+1
(getFFIDatatype): Accept ReadWrite modifier. * algebra/data.spad.pamphlet (Int32): New. (UInt64): Likewise. * algebra/Makefile.pamphlet (axiom_algebra_layer_7): Include INT64 and UINT64.
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-1/+1
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-01-032009-01-03 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-11/+6
* 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-26 r12485@gauss: gdr | 2008-12-17 16:26:21 -0600dos-reis1-4/+10
Branch to improve reflection. r12493@gauss: gdr | 2008-12-20 23:29:51 -0600 Add domain representations for constructors. r12494@gauss: gdr | 2008-12-21 14:27:37 -0600 Consolidate constructor domains. r12502@gauss: gdr | 2008-12-22 20:36:21 -0600 Constructors are values. r12504@gauss: gdr | 2008-12-25 13:58:01 -0600 r12505@gauss: gdr | 2008-12-25 18:48:04 -0600 Commit ChangeLog.
2008-12-14 r12459@gauss: gdr | 2008-12-12 18:18:31 -0600dos-reis1-0/+4
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.
2008-10-17 Fix AW/271dos-reis1-0/+4
* interp/sys-constants.boot ($Field): New. * interp/i-coerce.boot (retract2Specialization): Ignore expressions whose types do no belong to Field.
2008-10-14 * interp/i-spec2.boot (upQUOTE): Quoted forms belong to InputForm.dos-reis1-0/+4
* interp/sys-constants.boot ($InputForm): New.
2008-09-20 * include/cfuns.h (oa_dirname): Declare.dos-reis1-0/+3
* lib/cfuns-c.c (openaxiom_is_path_separator): New. (oa_dirname): Define. (writeablep): Use it. * algebra/fname.spad.pamphlet (writable?$FileName): Tidy.
2008-09-07 Ensure SingleFloat is 32-bit, DoubleFloat 64-bit.dos-reis1-0/+49
* interp/types.boot: Tidy. * interp/sys-constants.boot: Define limits for builtin numeric types. * interp/sys-os.boot: Import sys-constants. * interp/foam_l.lisp: Import sys-constants. Align builtin numeric types with OpenAxiom runtime's. * interp/fortcall.boot: Tidy. * interp/i-output.boot: Likewise. * interp/Makefile.pamphlet (foam_l.$(FASLEXT)): Now require sys-constants.$(FASLEXT). * algebra/si.spad.pamphlet: Use $ShortMinimum and $ShortMaximum for SingleInteger limits. * algebra/sf.spad.pamphlet: Use $DoubleFloatMaximum, $DoubleFloatMinimum for DoubleFloat limits. * algebra/strap: Update cached Lisp translation.
2008-05-17 * interp/sys-constants.boot ($BuiltinAttributes): Rename fromdos-reis1-1/+1
*ATTRIBUTES*. * interp/as.boot (asyFindAttrs): Adjust use. * interp/daase.lisp (WRITE-COMPRESS): Likewise. * interp/g-cndata.boot (attribute?): Likewise.
2008-05-08 * boot/translator.boot (bpOutItem): Handle namespace declaration.dos-reis1-1/+1
Update all boot files to use `namespace' instead of `)package'. * interp/: Likewise.
2008-05-01 * interp/sockio.lisp: Remove.dos-reis1-0/+29
2008-04-23 * boot/ast.boot: Tidy.dos-reis1-1/+1
* boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/tokens.boot: Likewise. * boot/translator.boot: Likewise. * boot/strap: Update Lisp translation. * lisp/core.lisp.in: Tidy.
2008-04-13Various cleanups.dos-reis1-1/+1
2008-04-07 * interp/sys-constants.boot ($quitTag): Define here.dos-reis1-0/+10
* interp/spaderror.lisp ($quitTag): Don't define here.
2008-03-24Add support for SBCL and CLispdos-reis1-30/+11
2008-02-19 * algebra/variable.spad.pamphlet (AnonymousFunction): Add newdos-reis1-0/+11
functions `parameters' and `body'. * algebra/domain.spad.pamphlet: Rename from algebra/domain.spad. (Category): New category. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include CATEGORY.o. (DOMAIN.NRLIB/code.$(FASLEXT)): Remove rule. * interp/trace.boot (transTraceItem): Use $LangSupportTypes. * interp/sys-constants.boot ($None): New. ($Type): Likewise. ($LangSupportTypes): Likewise. * interp/parse.boot (parseHas): Use $LangSupportTypes. (parseHasRhs): Likewise. * interp/i-spec2.boot (upLETtype): Use conceptualType. (uptypeOf): Likewise. (upwhere): Likewise. (typeOfType): Remove. * interp/i-spec1.boot (isDomainValuedVariable): Variables with type Category and Type are domain valued too. * interp/i-output.boot (output): Special case only Mode and Type. * interp/i-funsel.boot (selectMms): Don't ignore modemaps with category parameters. * interp/i-coerce.boot (canCoerce1): Test for Category instead of SubDomain Domain. (canCoerceFrom0): Use $None and $Any. (absolutelyCannotCoerce): Use $None. (coerceInteractive): Use $LangSupportTypes. (coerceInt1): Use $Any. * interp/i-analy.boot (conceptualType): New. (bottomUpType): Use it. * interp/clammed.boot (isValidType): Use $LangSupportTypes. * interp/g-cndata.boot (isNameOfType): Likewise. * interp/category.boot (Category): Remove hacky definition. * interp/buildom.boot ($noCategoryDomains): Domain now has a Lisplib.