| Age | Commit message (Collapse) | Author | Files | Lines | 
 | 
(RUN-DRIVER): Split from handleCommandLine.
 | 
 | 
Rewrite to pull out command line options wherever they are
	except the ones after "--".
	(topLevel): Bind *PACKAGE*; don't set it.
 | 
 | 
 | 
 | 
GCL or ECL.
	* lisp/core.lisp.in: Implement appropriate change.
 | 
 | 
 | 
 | 
src/
	* lisp/core.lisp.in ($FilesToRetain): New. Export.
	* lisp/Makefile.in: Tidy.
	* boot/translator.boot (retainFile?): New.
	(compileBootHandler): Use it.
 | 
 | 
 | 
 | 
* lisp/core.lisp.in: Add support for Clozure CL.
	(main): Remove as unused.
	* driver/utils.h (openaxiom_runtime): Add openaxiom_clozure_runtime.
	* boot/translator.boot (loadNativeModule): Handle Clozure CL.
	* boot/ast.boot (nativeType): Handle Clozure's FFI types.
	(nativeReturnType): Likewise.
	(coerceToNativeType): Likewise.
	(genCLOZUREnativeTranslation): New.
	(genImportDeclaration): Use it.
	* interp/vmlisp.lisp (SINTP): Remove duplicate definition.
	(SMINTP): Likewise.
	(ZERO?): Likewise.
	(GCMSG): Reorganize definition.
	(BPINAME): Likewise.
 | 
 | 
 | 
 | 
* configure.ac.pamphlet: Support --enable-profiling.
	* config/var-def.mk (oa_yesno_to_lisp_boolean): New.
	(oa_enable_profiling): Likewise.
	(oa_enable_lisp_profiling): Likewise.
src/
	* lisp/Makefile.in (edit): Substitute for oa_enable_profiling.
	* lisp/core.lisp.in ($EnableLispProfiling): New.
	(compileLispFile): Use it.
 | 
 | 
* boot/translator.boot (translateToplevel): Load imported modules.
	* boot/ast.boot ($constantIdentifiers): New.
	($activeNamespace): Likewise.
	(bfSimpleDefinition): Likewise.
	(isDynamicVariable): Likewise.
	(shoeCompTran1): Tidy.  Use it.
	* boot/parser.boot (bpSimpleDefinitionTail): Use bfSimpleDefinition.
	* boot/Makefile.in (stage1/%.clisp): Specify load directory.
	(stage2/%.clisp): Likewise.
	* lisp/core.lisp.in (startCompileDuration): Export.
	(endCompileDuration): Likewise.
 | 
 | 
* lisp/core.lisp.in (associateRequestWithFileType): Remember
	FILE-TYPE as default value for REQUEST.
	(|processCommandLine|): Standard options have length at least 2.
	(|handleCommandLine|): Use default file type if non is present.
 | 
 | 
* lisp/core.lisp.in: Default the read to DOUBLE-FLOAT for floating
	point literals.
	* boot/translator.boot (BOOTTOCLLINES): Don't set it here.
 | 
 | 
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.
 | 
 | 
 | 
 | 
* boot/ast.boot (genECLnativeTranslation): Use it.
 | 
 | 
* interp/compat.boot (editFile): Tidy.
	* interp/br-op2.boot (modemap2Sig): Don't update $badStack.xo
 | 
 | 
* 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.
 | 
 | 
* 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.
 | 
 | 
* 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.
 | 
 | 
(extra-runtime-libs): Tidy.
	* lisp/Makefile.in (edit): stringify $(oa_c_runtime_extra) elements.
 | 
 | 
(parseOption): Use it.
 | 
 | 
and `buffer'.
	* lisp/Makefile.in (pointer_type): Remove.
	(edit): Tidy.
	* boot/ast.boot (nativeType): Tidy.  Handle `pointer' and `buffer'
	here. 
	* boot/translator.boot (genImportDeclaration): Tidy.
 | 
 | 
Don't translate C-strings.
	* boot/ast.boot (nativeType) [SBCL]: Don't translate C-strings.
 | 
 | 
(|systemLibraryDirectory|): Likewise.
 | 
 | 
($(oa_boot_linkset)): New Make rule.
	* lisp/Makefile.in (oa_base_lisp_linkset): Tidy.
	($(oa_base_lisp_linkset)): New Make rule.
	* lisp/core.lisp.in (linkset-from): Read the linkset from the file.
 | 
 | 
* configure.ac.pamphlet: Activate safety+debug build for ECL-based
	system. 
src/
2008-08-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>
	* lisp/core.lisp.in (|$useDynamicLink|)[ECL]: Test for :DFFI feature.
 | 
 | 
* 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.
 | 
 | 
* lisp/core.lisp.in (linkset-from-if): Fix typo.
 | 
 | 
(|link|): Use prologue for all systems.
	* interp/sys-driver.boot (systemMain): New.  Break from restart().
	(restart): Tidy.
	* interp/boot-pkg.lisp: Don't push :OPEN-AXIOM-BOOT-COMPLETE.
 | 
 | 
* lisp/Makefile.in (edit): Update.
	* interp/daase.lisp: Don't load initial databases when
	--system-algebra. 
	* interp/Makefile.pamphlet (${SAVESYS}): Build with --system-algebra.
 | 
 | 
* 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.
 | 
 | 
(SYSTEM-SUBDIRECTORY): Likewise.
	(LINKSET-FROM-IF): Likewise.
	(COMPLETE-FASL-LIST-FOR-LINK): Use it.
	(getPrologue): New.
	(link): Take an additional optional parameter for prologue.  Tidy.
	(makeHandler): Adjust.
	* lisp/Makefile.in: Use LNKEXT where appropriate.
	(oa_base_lisp_linkset): New.
	($(oa_target_lispdir)/core.$(LNKEXT)): New rule.
	(base-lisp$(EXEEXT)): Now depends on $(oa_base_lisp_linkset).
	(mostlyclean-local): Remove $(oa_target_lispdir) too.
	* boot/Makefile.in: Use LNKEXT instead of FASLEXT.
	(boot_objects_extra): Remove.
	(oa_target_bootdir): New.
	(oa_boot_linkset): Likewise.
	(stamp): Require $(oa_boot_linkset).
	($(oa_target_bootdir)/%.$(LNKEXT)): New rule.
	(strap/bootsys$(EXEEXT)): Add prologue code.
	(stage1/bootsys$(EXEEXT)): Likewise.
	(stage2/bootsys$(EXEEXT)): Likewise.
	(mostlyclean-local): Remove $(oa_target_bootdir) too.
 | 
 | 
(|$useDynamicLink|): Likewise.
	(|$effectiveFaslType|): Hold extension of linkable FASL.
	(|$NativeModuleExt|): Tidy.
	(|$CoreLibName|): New.
	(|$ExtraRuntimeLibraries|): Likewise.
	(extra-runtime-libs): Likewise.
	(complete-fasl-list-for-link): Likewise.
	(|link|) [ECL]: Link against system libraries.
	(|compileLispFile|): Tidy.
	(begin-compile-time): New.
	(end-compile-time): Likewise.
	(compile-time-p): Likewise.
	(import-module): Use it.
	* lisp/Makefile.in ($(OUT)/lisp$(EXEEXT)): Use oa_c_runtime_extra.
	* lib/Makefile.in (oa_installed_corelib): New.
	* boot/initial-env.lisp: Don't export systemRootDirectory and
	systemLibraryDirectory from here.
	* boot/translator.boot (systemRootDirectory): Move to lisp/core.lisp.
	(systemLibraryDirectory): Likewise.
	(loadSystemRuntimeCore): Do nothing for GCL and ECL.
	* interp/boot-pkg.lisp: Inform that Boot system is compleye.
 | 
 | 
when --enable-checking.
 | 
 | 
 | 
 | 
* lisp/core.lisp.in ($effectiveFaslType): New.
	* boot/translator.boot (needsStableReference?): Handle the ECL case.
	(coerceToNativeType): Likewise.
	(genImportDeclaration): Likewise.
	(shoeRemoveStringIfNec): Fix thinko.
	($bootDefined): Define.
	($bootDefinedTwice): Likewise.
	($lispWordTable): Likewise.
	(getIntermediateLispFile): Use $effectiveFaslType.
	(loadSystemRuntimeCore): Use coreError, not systemError.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
* 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.
 | 
 | 
* interp/bootlex.lisp (init-boot/spad-reader): Use $OutputStream.
	* interp/comp.lisp (|compQuietly|): Likewise.
	(|compileFileQuietly|): Likewise.
	(|compileQuietly|): Likewise.
	* interp/unlisp.lisp (|Prompt|): Likewise.
	* interp/server.boot (serverReadLine): Indent while body.
 | 
 | 
 | 
 | 
 | 
 | 
(char_type): Likewise.
	(int_type): Likewise.
	(float_type): Likewise.
	(double_type): Likewise.
	(string_type): Likewise.
	(pointer_type): Likewise.
	(edit): Use them.
	* interp/wi1.boot (ppFull): Tidy.  Don't set *PRINT-DEPTH*.
	* interp/vmlisp.lisp (gcmsg): Define when SBCL.
	* interp/template.boot (measureCommon): Fix thinko.
	* interp/sys-utility.boot: Move basic type definition from
	g-util.boot to here.
	* interp/g-util.boot (augProplistOf): Fix signature declaration.
	* interp/daase.lisp: Tidy.
	* interp/c-util.boot (displayComp): Remove assignment to
	$X,$M,$F. 
	* interp/boot-pkg.lisp: Tidy.
	* interp/axext_l.lisp: Likewise.
	* interp/Makefile.pamphlet (makeint.lisp): Call GBC only when GCL.
	($(axiom_targetdir)/algebra/exposed.$(FASLEXT)): Tidy.
	(patches.$(FASLEXT)): Require debug.$(FASLEXT), g-timer.$(FASLEXT).
	(wi2.$(FASLEXT)): Require define.$(FASLEXT).
	(spad.$(FASLEXT)): Require postpar.$(FASLEXT), debug.$(FASLEXT).
	* boot/translator.boot (genImportDeclaration): Include translation
	for SBCL.
	* boot/parser.boot (bpMapping): Tidy.
	* boot/ast.boot (coreSymbol): New.
	(bootSymbol): Likewise.
	(bootSymbol): Likewise.
	* lisp/core.lisp.in (|$NativeTypeTable|): New. Export.
	* algebra/Makefile.pamphlet (COMPILE_LISP): Use $(INTERPSYS).
	* algebra/exposed.lsp.pamphlet: Tidy.
 | 
 | 
* interp/sys-driver.boot (algebraBootstrapDir): New.
	* interp/lisplib.boot (findModule): New.
	(loadLib): Use it.
	* interp/daase.lisp (localdatabase): Make sure loadable modules
	have proper extensions.
	* interp/sys-utility.boot (existingFile?): New.
 | 
 | 
(|resetErrorCount|): New export function.
	* interp/vmlisp.lisp (opOf): Remove macro definition.
	* interp/msg.boot (setMsgCatlessAttr): Fix thinko.
	* interp/monitor.lisp (monitor-add): Remove extra right parenthesis.
	* interp/lisplib.boot: Import "debug".
	(initializeLisplib): Don't use ERRORS variable.
	* interp/i-spec1.boot (isDomainValuedVariable): Tidy.
	* interp/i-output.boot (outputTran): Use SIZE instead of #.
	(output): Remove misguided conversion from Tuple to List.
	* interp/i-coerce.boot (coerceInteractive): Allow domain object
	convesions.
	* interp/g-util.boot (opOf): Declare.
	* interp/Makefile.pamphlet (lisplib.$(FASLEXT)): Depend on
	debug.$(FASLEXT). 
	* algebra/Makefile.pamphlet: Use .$(FASLEXT) instead of hardcoded
	.o extension.
 | 
 | 
 | 
 | 
2007-12-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>
	* initial-env.lisp.pamphlet ("BOOTTRAN"): Don't use SYSTEM package.
interp/
2007-12-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>
	* lisplib.boot (getSlotFromDomain): Use pointer to function Undef
	directly, instead of variable Undef.
	* i-syscmd.boot (cd): Move from patches.lisp to here.
	* g-timer.boot (printTimeIfTrue): Move from patches.lisp to here.
	* patches.lisp (Undef): Remove.
	($printTimeIfTrue): Move to g-timer.boot.
	(cd): Move to i-syscmd.boot.
	(nullstream): Remove.
	(nononullstream): Likewise.
	(/MAJOR-VERSION): Move to sys-constants.boot.
	* setq.lisp (/MAJOR-VERSION): Remove.
lisp/
2007-12-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>
	* core.lisp.in ("AxiomCore"): Don't use SYSTEM package.
 | 
 | 
2007-12-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>
	* Makefile.pamphlet (boot_objects_extra): New.
	(stage0/bootsys$(EXEEXT)): Use it.
	(stage1/bootsys$(EXEEXT)): Likewise.
	(stage2/bootsys$(EXEEXT)): Likewise.
src/lisp/
2007-12-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>
	* Makefile.pamphlet (base_lisp_objects): New. Abstract over
	Lisp compilation models.
	(core.$(FASLEXT)): Tidy.
	* core.lisp.in (|getOutputPathname|): Make unary.
	(|link|): Make sure object files are used to construct ECL
	programs. 
	(|makeHandler|): Adjust.
	(|compileLispFile|): Likewise.
 |