2008-01-28 Gabriel Dos Reis Support signature declaration in Boot. * boot/ast.boot (bfUntuple): New. (bfTagged): Toplevel tags are signatures. * boot/parser.boot (bpTyping): New. (bpTagged): Use it. * boot/translator.boot (genDeclaration): New. (bpOutItem): Use it. * interp/compiler.boot: Add type annotations for compiler routines. * lisp/Makefile.in ($(OUT)/lisp$(EXEEXT)): Don't turn on emit-fn. 2008-01-27 Gabriel Dos Reis * boot/Makefile.pamphlet: Remove. * boot/translator.boot: New. * boot/translator.boot: Remove. * boot/tokens.boot: New. * boot/tokens.boot.pamphlet: Remove. * boot/scanner.boot: New. * boot/scanner.boot.pamphlet: Remove. * boot/pile.boot: New. * boot/pile.boot.pamphlet: Remove. * boot/parser.boot: New. * boot/parser.boot.pamphlet: New. * boot/initial-env.lisp: New. * boot/initial-env.lisp.pamphlet: Remove. * boot/includer.boot: New. * boot/includer.boot.pamphlet: Remove. * boot/ast.boot: New. * boot/ast.boot.pamphlet: Remove. 2008-01-27 Gabriel Dos Reis Fix SF/1872551 * interp/c-util.boot (dollarIfRepHack): New. (RepIfRepHack): Likewise. (substituteDollarIfRepHack): Likewise. (isSubset): Dollar is subset of Rep only in old semantics. * interp/buildom.boot (mkMappingFunList): Substitute dollar for Rep only when appropriate. (mkRecordFunList): Likewise. (mkNewUnionFunList): Likewise. (mkUnionFunList): Likewise. * interp/compiler.boot (compNoStacking): Likewise. (compNoStacking1): Likewise. (getConstructorFormOfMode): Likewise. (isUnionMode): Likewise. (coerce): Likewise. (coerceSubset): Likewise. * interp/modemap.boot (addModemap1): Likewise. (isSuperDomain): Likewise. * interp/define.boot (maybeInsertViewMorphisms): New. (compCapsule): Use it. (compCategoryItem): Don't allow exports of rep and per. * interp/sys-globals.boot ($useRepresentationHack): New. 2008-01-26 Gabriel Dos Reis * interp/database.boot: Tidy uses of $EmptyEnvironment. * interp/i-map.boot: Likewise. Allocate fresh cell for $env. * interp/i-spec1.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/setvars.boot: Likewise. * interp/sys-globals.boot: Likewise. * interp/nruncomp.boot: Encode flag types too. * interp/template.boot: Likewise. * share/algebra: Update databases. 2008-01-25 Gabriel Dos Reis Fix AW/311 * interp/i-syscmd.boot (displayOperationsFromLisplib): Say no exported operations when there is nothing to display. 2008-01-24 Gabriel Dos Reis Fix AW/272 * interp/i-spec1.boot (compileADEFBody): Don't evaluate unnamed functions. Compile them instead. * testsuite/interpreter/aw-272.input: New. 2008-01-22 Gabriel Dos Reis * algebra/any.spad.pamphlet (empty$Scope): Use literal empty list. (empty$Environment): Likewise. 2008-01-21 Gabriel Dos Reis Waldek Hebisch Fix AW/102 * interp/iterator.boot (getIdentity): Properly identify the algebra empty list. 2008-01-21 Gabriel Dos Reis Apply patch by Stephen Wilson < Fix AW/370 * interp/compiler.boot (compWithMappingMode): Consult current environment to decide which variabes are free. * testsuite/compiler/cwmm-test.spad: New. 2008-01-21 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (Syntax): Assert a member of SetCategory. Implement equality. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Move BASTYPE.o from layer 3 to here. Move SYNTAX.o from here to layer 1. (axiom_algebra_layer_1): Move CTROCALL.o to layer 2. * share/algebra: Update database. 2008-01-20 Gabriel Dos Reis * algebra/syntax.spad.pamphlet (ElaboratedExpression): New. * algebra/any.spad.pamphlet: Rename ObjectProperty to Property. * algebra/exposed.lsp.pamphlet: Likewise. * algebra/Makefile.pamphlet (axiom_algebra_layer_5): Include ELABEXPR.o * share/algebra: Update databases. 2008-01-19 Gabriel Dos Reis * algebra/syntax.spad.pamphlet: Rename from algebra/syntax.spad. Add a new domain for constructor instantiation form. * algebra/Makefile.pamphlet (axiom_algebra_layer_1): Include CTORCALL.o (SYNTAX.NRLIB/code.$(FASLEXT)): Remove rule. Now implicit. * share/algebra: Update databases. 2008-01-19 Gabriel Dos Reis * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Now include SYNTAX.o * algebra/syntax.spad (buildSyntax$Syntax): Use CONS$Lisp to permit early bootstrap. 2008-01-19 Gabriel Dos Reis * algebra/any.spad.pamphlet (getProperty$Environment): New. (setProperty!$Environment): Likewise. (getProperties$Environment): Likewise. (setProperties!$Environment): Likewise. 2008-01-19 Gabriel Dos Reis * interp/construc.lisp (|loadLibNoUpdate|): Fix thinko in initial value for empty environments. * interp/database.boot (rebuildCDT): Likewise. * interp/i-map.boot (addDefMap): Likewise. (rewriteMap0): Likewise. (rewriteMap1): Likewise. (compileDeclaredMap): Likewise. (analyzeUndeclaredMap): Likewise. * interp/i-spec1.boot: Likewise. * interp/i-syscmd.boot (reportOperations): Likewise. * interp/i-toplev.boot (interpret): Likewise. * interp/lisplib.boot (loadLib): Likewise. (loadLibNoUpdate): Likewise. * interp/setvars.boot (resetWorkspaceVariables): Likewise. * interp/spad.lisp ($e): Move definition to sys-globals.boot. ($env): Likewise. * interp/sys-globals.boot ($e): Define here. ($env): Likewise. * algebra/any.spad.pamphlet (ObjectProperty): New. (Binding): Likewise. (Contour): Likewise. (Scope): Likewise. (Environment): Likewise. * algebra/exposed.lsp.pamphlet: Expose ObjectProperty, Binding, Contour, Scope, and Environment. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include OBJPROP.o. (axiom_algebra_layer_1): Include BINDING.o (axiom_algebra_layer_2): Include CONTOUR.o (axiom_algebra_layer_3): Include SCOPE.o (axiom_algebra_layer_4): Include ENV.o * share/algebra: Update database. 2008-01-17 Gabriel Dos Reis Fix SF/1849734 * interp/i-spec1.boot (upand): Don't insist on having operands of type Boolean. (upor): Likewise. * algebra/mkrecord.spad.pamphlet (Pair): New domain constructor. * algebra/exposed.lsp.pamphlet: Expose Pair, PropositionalLogic, PropositionalFormula. * algebra/boolean.spad.pamphlet (PropositionalFormula): New domain constructor. * algebra/Makefile.pamphlet (axiom_algebra_layer_4): Include PAIR.o. (axiom_algebra_layer_19): Include PROPFRML.o * share/algebra: Update databases. * testsuite/interpreter/1849734.input: New. 2008-01-16 Gabriel Dos Reis Fix SF/1848975 * interp/buildom.boot ($commonCategoryAncestors): New. ($commonCategoryDefaults): Likewise. (Record0): Use it. (Union): Likewise. (Mapping): Likewise. (Enumeration): Likewise. * testsuite/algebra/1848975.input: New. 2008-01-16 Gabriel Dos Reis Fix SF/1872564 * interp/compiler.boot (compPretend): Don't check for `new' compiler semantics. (compColonInside): Likewise. * testsuite/compiler/1872564.spad: New. 2008-01-15 Gabriel Dos Reis Fix SF/1850071 * algebra/syntax.spad (compound?$Syntax): New. 2008-01-15 Gabriel Dos Reis * algebra/boolean.spad.pamphlet (PropositionalLogic): New category. (Boolean): Assert as belonging to PropositionalLogic. Update cached Lisp translation. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Add PROPLOG.o * src/algebra: Update databases. 2008-01-15 Gabriel Dos Reis * algebra/syntax.spad (autoCoerce$Syntax): Add overloads. * interp/compiler.boot (coerceExtraHard): Always coerce by autoCoerce. * testsuite/interpreter/case.spad: Likewise. * testsuite/interpreter/case.input: New. 2008-01-14 Gabriel Dos Reis * interp/compiler.boot (compSymbol): Don't handle possible case views here. (hasUniqueCaseView): Rename from getUniqueCaseView. Take the target mode as second argument. (compForm2): Use calling convention vector to determine infer flag parameter types. (compCase1): Uniformly handle `case-expressions'. Call genDeltaEntry for selected operator. (coerceExtraHard): Handle coercions from UnionType domains. (autoCoerceByModemap): Tidy. * interp/g-opt.boot (optCall): Be more verbose in diagnostics. * algebra/syntax.spad (Syntax): Rework. * algebra/coerce.spad.pamphlet (UnionType): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include UTYPE.o * share/algebra: Update databases. 2008-01-13 Gabriel Dos Reis Fix SF/1852076 * algebra/domain.spad (reify$Domain): Specify target type of conversion. * interp/nrunfast.boot (newLookupInDomain): Tidy. (newLookupInCategories): Likewise. * testsuite/interpreter/1852076.input: New. 2008-01-13 Gabriel Dos Reis Fix SF/1867459 * interp/postpar.boot (postError): Fix thinko. * interp/parse.boot ($defOp): Define. * testsuite/compiler/1867459.spad: New. 2008-01-13 Ralf Hemmecke Gabriel Dos Reis * algebra/bags.spad.pamphlet (map!$Stack): Cache the result in the underlying reference. 2008-01-11 Gabriel Dos Reis * interp/msg.boot (getStFromMsg): Fix typo. 2008-01-10 Gabriel Dos Reis * algebra/syntax.spad (getOperator): Inject into the right Union branch. 2008-01-08 Gabriel Dos Reis * interp/msgdb.boot (brightPrint0): Disable highlightinh on Win32. * lib/cfuns-c.c (std_stream_is_terminal): Tidy. 2008-01-08 Gabriel Dos Reis * boot/Makefile.pamphlet (AXIOM_LOCAL_LISP): Use Lisp image with C bindings. * interp/msgdb.boot (brightPrint0): Don't highlight if the standard output is not attached to a terminal. * interp/sys-driver.boot (stdStreamIsTerminal): New. * lib/cfuns-c.c (std_stream_is_terminal): New. 2008-01-07 Gabriel Dos Reis * boot/ast.boot.pamphlet (Ast): Add ImportSignature, Signature, and Mapping. * boot/parser.boot.pamphlet (bpImport): Parse import declaration. (bpSignature): New. (bpMapping): Likewise. * boot/tokens.boot.pamphlet (shoeKeyWords): Add new keyword. * boot/translator.boot.pamphlet (genImportDeclaration): Translate import declaration. (shoeOutItem): Handle import declarations. 2008-01-06 Gabriel Dos Reis * sman/sman.c: Remove debug and dead codes. 2008-01-06 Gabriel Dos Reis * driver/main.c (main) [__WIN32__]: Fix off-by-one thinko. 2008-01-05 Gabriel Dos Reis * scripts/axiom.in: Remove. * driver: New directory. * driver/main.c: New. Now implement driver as native application.