Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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.
|
|
(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.
|
|
* sman/sman.c (process_arguments): Use it.
(process_arguments): Likewise.
|
|
* 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.
|
|
(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.
|
|
"=>", and "<=" expressions.
|
|
throughout.
|
|
* interp/scan.boot: Tidy.
* interp/ptrees.boot: Define AST for type schemes.
* interp/cparse.boot (npType): Parse type schemes.
(npQuantifierVariable): New.
(npADD): Accept only monotypes.
* interp/pf2sex.boot (pf2Sex1): Handle type schemes.
(pfQuantified2Sex): New.
2008-07-23 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/cparse.boot (npMonoType): Rename from npType.
|
|
Update all boot files to use `namespace' instead of `)package'.
* interp/: Likewise.
|
|
* 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.
|
|
(BPINAME): Tidy.
* interp/slam.boot (reportFunctionCompilation): Tidy.
* interp/daase.lisp: Don't use anachronistic SET.
* interp/debug.lisp: Likewise.
* interp/br-saturn.boot: Substitute GENSYM for GENTEMP.
* interp/fortcall.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/server.boot: Likewise.
* interp/buildom.boot (UnionEqual): Tidy.
(coerceUn2E): Likewise.
* interp/boot-pkg.lisp (define-function): Define here.
* interp/Makefile.pamphlet (diagnostics.$(FASLEXT)): Tidy.
(hash.$(FASLEXT)): Likewise.
(vmlisp.$(FASLEXT)): Likewise.
* interp/diagnostics.boot: Import "types".
* interp/hash.lisp: Import "types" instead of "vmlisp".
* interp/i-output.boot ($algebraOutput): Move to sys-globals.boot.
(ERROROUTSTREAM): Likewise.
(ERRORINSTREAM): Likewise.
* interp/macros.lisp ($algebraOutputStream): Don't set here.
* interp/patches.lisp ($algebraOutputStream): Don't set here.
($texOutputStream): Likewise.
($fortranOutputStream): Likewise.
($texOutputStream): Likewise.
($formulaOutputStream): Likewise.
|
|
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.
|
|
* 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.
|
|
|
|
(alql.$(FASLEXT)): Likewise.
(br-prof.$(FASLEXT)): Likewise.
(packtran.$(FASLEXT)): Likewise.
(macex.$(FASLEXT)): Likewise.
(intfile.$(FASLEXT)): Likewise.
(compress.$(FASLEXT)): Likewise.
(msg.$(FASLEXT)): Likewise
|
|
* 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.
|
|
|
|
|
|
|