aboutsummaryrefslogtreecommitdiff
path: root/src/interp/i-spec2.boot
AgeCommit message (Collapse)AuthorFilesLines
2008-12-082008-12-07 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-0/+7
* interp/g-opt.boot ($simpleVMoperators): New. (isSimpleVMForm): Likewise. (isFloatableVMForm): Likewise. (optLET): Likewise. Expand backend let-forms. * interp/c-util.boot (foldSpadcall): Look into LET and COND forms. (replaceSimpleFunctions): Likewise. (mutateCONDFormWithUnaryFunction): New. (mutateLETFormWithUnaryFunction): Likewise. * interp/compiler.boot (tryCourtesyCoercion): Split from coerce. (compRetractAlternative): Simplify. Now try courtesy coercions before retraction. (compRecoverAlternative): New. (compMatch): Simplify. Implement type recovery too. 2008-12-06 Gabriel Dos Reis <gdr@cs.tamu.edu> * interp/compiler.boot (compRetractAlternative): New. (compMatch): Likewise. Use it to implement pattern macthing for retractable domains. * interp/parse.boot (parseAtAt): New. * interp/postpar.boot (postAtAt): Likewise. (postAlternatives): Likewise. (postMatch): Likewise. * interp/metalex.lisp (Keywords): Remove `otherwise' as keyword. * interp/fnewmeta.lisp (|PARSE-Match|): New local parser. * interp/newaux.lisp (@@): New token. Align wih interpreter. (otherwise): Remove binding specification. (case): Now also a Nud token.
2008-10-14 * interp/i-spec2.boot (upQUOTE): Quoted forms belong to InputForm.dos-reis1-1/+1
* interp/sys-constants.boot ($InputForm): New.
2008-10-02 * interp/i-spec1.boot (upcase): Tidy.dos-reis1-2/+2
* interp/i-spec2.boot (evalIsntPredicate): Likewise. * interp/sys-utility.boot (existingFile?): Likewise.
2008-09-24 * interp/i-analy.boot (putCallInfo): New.dos-reis1-1/+1
(bottomUp): Use it. * interp/i-spec1.boot (upand): Likewise. (upor): Likewise. (upcase): Likewise. * interp/i-spec2.boot (uperror): Likewise.
2008-09-02 * algebra/syntax.spad.pamphlet (Literal): New.dos-reis1-2/+3
(Identifier): Likewise. (Signature): Tidy. * algebra/exposed.lsp.pamphlet: Expose IDENT and LITERAL. * algebra/Makefile.pamphlet (axiom_algebra_layer_user): Add LITERAL and IDENT. (user-stamp): Don't depend directly on bootstrap-stamp. * share/algebra/: Update databases.
2008-08-09 * interp/pf2sex.boot (pf2Sex1): Handle more ASTs.dos-reis1-0/+29
(pfType2SexOrNil): New. (pfDoc2SexOrNil): Likewise. (pfWith2Sex): Likewise. (pfAdd2Sex): Likewise. (pfWDeclare2Sex): Likewise. (pfAttribute2Sex): Likewise. (pfWIf2Sex): Likewise. (pfExport2Sex): Likewise. (pfInline2Sex): Likewise. (pfImport2Sex): Likewise. (pfQualType2Sex): Likewise. * interp/ptrees.boot (pf0InlineItems): New. * interp/i-spec2.boot (up%Import): New. (sorry): Likewise. (up%Export): Likewise. (up%Inline): Likewise. (up%With): Likewise. (up%Add): Likewise. * interp/i-intern.boot (mkAtree3): Handle %Inline, %With, %Add, and %Export. * interp/i-spec1.boot ($specialOps): Adjust. * doc/msgs/s2-us.msgs (S2IP0006): New.
2008-08-09 * interp/buildom.boot: Rename AST code LET to %LET throughout.dos-reis1-8/+8
* interp/c-util.boot: Likewise. * interp/comp.lisp: Likewise. * interp/compiler.boot: Likewise. * interp/cparse.boot: Likewise. * interp/def.lisp: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/iterator.boot: Likewise. * interp/mark.boot: Likewise. * interp/newaux.lisp: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/package.boot: Likewise. * interp/parse.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/postpar.boot: Likewise. * interp/property.lisp: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/slam.boot: Likewise. * interp/spad.lisp: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise.
2008-08-09 * interp/pf2sex.boot (pfMacro2Sex): New.dos-reis1-9/+29
(pfMLambda2Sex): Likewise. (pf2Sex1): Use them. * interp/i-spec2.boot ($VoidValueObject): New. ($VoidCodeObject): Likewise. (setValueToVoid): Likewise. (setCodeToVoid): Likewise. (upDEF): Call setValueToVoid. (upfree): Call setCodeToVoid (uplocal): Likewise. (interpIF): Call setValueToVoid. (up%Macro): New. (up%MLambda): Likewise. * interp/i-spec1.boot ($specialOps): Add %Macro and %MLambda. * interp/macex.boot (macMacro): Really return the original macro as the documentation says.
2008-07-09 * interp/i-spec2.boot (findConstantInDomain): Abstract fromdos-reis1-8/+16
upDollar. (upDollar): Use it. Don't return general constants as mappings. * interp/fnewmeta.lisp (|PARSE-FloatTok|): Fix typo.
2008-05-29 Fix AW/421.dos-reis1-2/+8
* interp/i-spec2.boot (uphas): When compiling a function, don't bother evaluating type variables. * testsuite/interpreter/aw-412.input: Add.
2008-05-18 * interp/i-object.boot (wrapped2Quote): Reomve.dos-reis1-4/+4
(getValueNormalForm): New. * interp/i-code.boot (intCodeGenCOERCE): Use it. * interp/i-coerce.boot (coerceIntByMap): Likewise. * interp/i-eval.boot (getArgValue): Likewise. (getArgValue2): Likewise. * interp/i-funsel.boot (selectMms): Likewise. * interp/i-map.boot (rewriteMap): Likewise. * interp/i-spec2.boot (IFcodeTran): Likewise. (evalLET): Likewise. (upreturn): Likewise. * interp/g-cndata.boot (isConstructorName): New. * testsuite/interpreter/eval-dep-type.input: New.
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-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-02-22 * interp/i-analy.boot (bottomUpFormTuple): Use "tuple" fordos-reis1-19/+9
parse form that are not type instantiations. * interp/i-coerce.boot (coerceInt1): Likewise. * interp/i-intern.boot (mkAtree3): Likewise. (collectDefTypesAndPreds): Likewise. * interp/i-map.boot (args2Tuple): Likewise. (makePattern): Likewise. (canMakeTuple): Likewise. (makeRuleForm): Likewise. (numArgs): Likewise. (combineMapParts): Likewise. (mkMapPred): Likewise. (findLocalVars1): Likewise. * interp/i-output.boot (outputTran): Likewise. * interp/i-spec1.boot ($specialOps): Likewise. (evalUntargetedADEF): Likewise. (upDeclare): Likewise. (declare): Likewise. * interp/i-spec2.boot (upDollarTuple): Likewise. (upLET): Likewise. (isTupleForm): Remove. (uptuple): Rename from upTuple. (upLETWithFormOnLhs): Use "tuple" for parse forms that are not type instantiations. * interp/i-syscmd.boot (displayMacro): Likewise. * interp/pf2atree.boot (pf2Atree1): Likewise. * interp/pf2sex.boot (pf2Sex1): Likewise. (pfApplication2Sex): Likewise. (pfCollectArgTran): Likewise. * interp/ptrees.boot (pfTuple): Likewise. (pfTuple?): Likewise.
2008-02-19 * algebra/variable.spad.pamphlet (AnonymousFunction): Add newdos-reis1-13/+5
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.
2007-12-08 Add support for quasiquotation.dos-reis1-0/+6
* compiler.boot (compileQuasiquote): New function. * fnewmeta.lisp (|PARSE-Enclosure|): Parse quasiquotes too. * i-intern.boot (mkAtree3): Don't evaluate arguments to quasiquote. * i-spec1.boot ($specialOps): Register [||]. (up[||]): Handle quasiquotes. * newaux.lisp: Register `[|' and `|]' as new glyphs. * pf2sex.boot ($insideApplication): Now count the nesting level of application forms. ($insideQuasiquote): New. Count nesting level of quasiquotes. (pfFinishApplication): Ensure application form nesting level is properly decreased. (pfApplication2Sex): Use it. (pfQuasiquotation2Sex): Transform quasiquote forms. (pf2Sex1): Use it. * sys-constants.boot ($Syntax): New.
2007-12-08 * bc-util.boot ($newConstructorList): Move from setq.lisp to here.dos-reis1-0/+11
($createLocalLibDb): Likewise. * clam.boot ($hashNode): Likewise. * comp.lisp (|$compileDontDefineFunctions|): Likewise. * compiler.boot ($compileOnlyCertainItems): Likewise. * database.boot ($globalExposureGroupAlist): Likewise. * define.boot ($newCompCompare): Likewise. * format.boot ($permitWhere): Likewise. * g-boot.boot ($inDefLET): Likewise. ($inDefIS): Likewise. ($letGenVarCounter): Likewise. ($isGenVarCounter): Likewise. * g-error.boot ($ReadingFile): Likewise. (handleLispBreakLoop): Remove special case on $cclSystem. * g-timer.boot (computeElapsedTime): Likewise. * g-util.boot ($interpOnly): Move from setq.lisp to here. * i-funsel.boot ($domPvar): Likewise. * i-object.boot ($immediateDataSymbol): Likewise. * i-output.boot ($algebraOutputStream): Likewise. (ERROROUTSTREAM): Likewise. (ERRORINSTREAM): Likewise. * i-spec2.boot ($InterpreterMacroAlist): Likewise. * i-syscmd.boot ($NonNullStream): Likewise. ($NullStream): Likewise. ($localExposureDataDefault): Likewise. ($localExposureData): Likewise. * lisplib.boot ($functionLocations): Likewise. * msgdb.boot ($testingSystem): Likewise. * nlib.lisp (get-directory-list): Tidy. * nruncomp.boot ($devaluateList): Move from setq.lisp to here. ($functorLocalParameters): Likewise. ($insideCategoryPackageIfTrue): Likewise. ($profileCompiler): Likewise. * nrunfast.boot ($doNotCompressHashTableIfTrue): Likewise. * nrungo.boot ($insideCompileBodyIfTrue): Likewise. * setvars.boot ($InitialCommandSynonymAlist): Likewise. ($CommandSynonymAlist): Likewise. (setOutputLibrary): Simplify. * spad.lisp (|$newCompCompare|): Don't set here. (|$compileOnlyCertainItems|): Likewise. * sys-constants.boot ($BasicPredicates): Include SYMBOLP. ($TriangleVariableList): Move from setq.lisp to here. ($Any): Likewise. ($Boolean): Likewise. ($SingleInteger): Likewise. ($QuotientField): Likewise. ($ComplexInteger): Likewise. ($OutputForm): Likewise. ($FunctionalExpression): Likewise. ($Expression): Likewise. ($AnonymousFunction): Likewise. * sys-globals.boot (INPUT_-LIBRARIES): Likewise. (OUTPUT_-LIBRARY): Likewise. ($newConlist): Likewise. ($compilingInputFile): Likewise. ($minivectorNames): Likewise.
2007-11-27 * vmlisp.lisp (create-sbc): Remove.dos-reis1-1/+0
* property.lisp: Don't use it anymore. * g-opt.boot: Likewise. * i-spec2.boot: Likewise.
2007-11-22 * i-analy.boot: Globally substtitue %noMapVal for noMapVal.dos-reis1-2/+2
* i-intern.boot: Likewise. * i-map.boot: Likewise. * i-spec2.boot: Likewise. * i-spec1.boot: Likewise.
2007-11-22 * as.boot: Globally substitute %noBranch for noBranch.dos-reis1-3/+3
* ax.boot: Likewise. * cattable.boot: Likewise. * compiler.boot: Likewise. * def.lisp: Likewise. * define.boot: Likewise. * functor.boot: Likewise. * g-opt.boot: Likewise. * i-analy.boot: Likewise. * i-intern.boot: Likewise. * i-map.boot: Likewise. * i-object.boot: Likewise. * i-output.boot: Likewise. * i-spec2.boot: Likewise. * info.boot: Likewise. * mark.boot: Likewise. * nrunopt.boot: Likewise. * package.boot: Likewise. * parse.boot: Likewise. * pf2atree.boot: Likewise. * pf2sex.boot: Likewise. * postpar.boot: Likewise. * pspad2.boot: Likewise. * wi2.boot: Likewise.
2007-11-07remove more pamphletsdos-reis1-0/+1150