Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
(compLogicalNot): Generate %not form.
(satisfies): Use %bind.
(compMatch): Likewise.
(compReduce1): Generate %loop directly instead of %reduce.
* interp/g-opt.boot (changeThrowToExit): Don't check for %reduce.
* interp/g-util.boot (expandRepeat): Remove.
(expandReduce): Likewise.
|
|
|
|
(compMatchAlternative): Generate %bind form.
(compMatch): Likewise.
(compReduce1): Rewrite.
(getIdentity): Tidy.
* interp/g-opt.boot (changeThrowToExit): HAndle %reduce.
(varIsAssigned): %store is side-effectful.
* interp/g-util.boot (expandReduce): New. Expand %reduce forms.
* interp/i-map.boot (getUserIdentifiersIn): Handle %reduce.
(findLocalVars1): Likewise.
* interp/i-spec1.boot (checkForFreeVariables): Likewise.
|
|
(declareUnusedParameters): Use it. Reimplement.
* interp/i-map.boot (compileCoerceMap): Adjust call.
* interp/i-spec1.boot (compileADEFBody): Likewise.
(mkIterFun): Likewise.
* interp/slam.boot (reportFunctionCompilation): Likewise.
(reportFunctionCacheAll): Likewise.
(compileRecurrenceRelation): Likewise.
|
|
* interp/slam.boot (reportFunctionCompilation): Tidy. Take extra
care when generating code that access global variables.
(reportFunctionCacheAll): Likewise.
* interp/i-util.boot (isLocallyBound): Define.
* interp/i-spec1.boot (upCOLLECT1): Bind $iteratorVars to nil.
(upLoopIterSTEP): Call mkIteratorVariable instead of mkLocalVar.
(upLoopIterIN): Likewise.
(upStreamIterIN): Likewise.
(upStreamIterSTEP): Likewise.
(collectOneStream): Tidy.
(mkAndApplyPredicates): Likewise.
(mkIterFun): Lose last parameter. Tidy.
(declare): Use isLocallyBound.
(getAndEvalConstructorArgument): Likewise.
(mkIteratorVariable): New.
($iteratorVars): New.
* interp/i-spec2.boot (upREPEAT1): Bind $iteratorVars to nil.
(isLocalPred): Use isLocallyBound.
(compileIs): Likewise.
(evalLETput): Likewise.
(evalLETchangeValue): Likewise.
(isType): Likewise.
* interp/i-analy.boot (bottomUp): Likewise.
(bottomUpDefaultCompile): Likewise.
* interp/i-eval.boot (evalForm): Likewise.
(getMappingArgValue): Likewise.
* interp/i-map.boot (findLocalVars1): Likewise.
(findLocalsInLoop): Tidy. Filter out iterator variables.
(isLocalVar): Remove.
* interp/g-util.boot (mkCacheName): Define here.
(mkAuxiliaryName): Likewise.
* interp/c-util.boot (backendCompileSLAM): Use mkCacheName.
(backendCompileSPADSLAM): Likewise.
* interp/clam.boot (compClam): Likewise.
(clearCategoryCaches): Likewise.
(clearCategoryCache): Likewise.
* interp/g-timer.boot (timedEVALFUN): expandToVMForm is now
implicitly called by eval.
|
|
variables. Generate appropriate code.
* interp/i-spec1.boot (compileTargetedADEF): Likewise.
(compileADEFBody): Likewise.
* interp/slam.boot (isRecurrenceRelation): Likewise. Adjust
patterns to match minivectors.
(mkDiffAssoc): Likewise.
(reportFunctionCompilation): Don't declare minivectors.
|
|
(interpREPEAT): Likewise.
* interp/i-spec1.boot (interpCOLLECT): Generate %collect forms.
* interp/i-map.boot (findLocalVars1): Handle %repeat forms the
same as REPEAT forms.
* interp/g-opt.boot (changeThrowToExit): Don't look into %repeat
forms.
(expandInit): New.
(expandLoop): New. abstract from expandCollect.
(expandCollect): Use it. Rework.
(expandRepeat): New.
|
|
* interp/c-util.boot (middleEndExpand): Tidy.
* interp/g-opt.boot (changeThrowToExit): Don't look into %collect
forms.
* interp/i-map.boot (getUserIdentifiersIn): Factorize. Handle
%collect forms same as COLLECT forms.
(findLocalVars1): Likewise.
* interp/i-spec1.boot (evalCOLLECT): Now generate %collect forms.
(checkForFreeVariables): Factorize. Handle %collect forms same as
COLLECT forms.
|
|
* interp/i-analy.boot: Use it in place of boilerplate.
* interp/i-eval.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
|
|
|
|
|
|
binding for $freeVariables and $boundVariables.
(mkIterFun): Likewise.
(mkIterZippedFun): Likewise.
|
|
* 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.
|
|
|
|
|
|
|
|
* interp/clammed.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/dq.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/g-boot.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-object.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/incl.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/rulesets.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/termrw.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
* interp/cstream.boot: Likewise.
* interp/database.boot: Likewise.
* interp/define.boot: Likewise.
* interp/g-boot.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/incl.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/macex.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/pile.boot: Likewise.
* interp/posit.boot: Likewise.
* interp/ptrees.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/types.boot: Likewise.
|
|
* interp/topics.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/dq.boot: Likewise.
* interp/define.boot: Likewise.
* interp/database.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-data.boot: Likewise.
|
|
* interp/topics.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/dq.boot: Likewise.
* interp/define.boot: Likewise.
* interp/database.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-data.boot: Likewise.
|
|
assignment to first and rest fields.
* interp/astr.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-data.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/buildom.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/compress.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/cstream.boot: Likewise.
* interp/database.boot: Likewise.
* interp/define.boot: Likewise.
* interp/dq.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-object.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/packtran.boot: Likewise.
* interp/showimp.boot: Likewise.
* interp/termrw.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi2.boot: Likewise.
* interp/word.boot: Likewise.
|
|
* interp/ax.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-prof.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/br-util.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/clammed.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/database.boot: Likewise.
* interp/cstream.boot: Likewise.
* interp/define.boot: Likewise.
* interp/diagnostics.boot: Likewise.
* interp/format.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-boot.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nrungo.boot: Likewise.
* interp/pathname.boot: Likewise.
* interp/pf2atree.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/record.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
integer?, string?, symbol?, and cons? respectively.
* interp/wi1.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/sys-utility.boot: Likewise.
* interp/showimp.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/record.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/postpar.boot: Likewise.
* interp/posit.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/pf2atree.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/packtran.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/nrungo.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/msg.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/match.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-object.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-eval.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/htcheck.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/ht-root.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-error.boot: Likewise.
* interp/g-boot.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/format.boot: Likewise.
* interp/diagnostics.boot: Likewise.
* interp/define.boot: Likewise.
* interp/compress.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/clammed.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/cformat.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/category.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/buildom.boot: Likewise.
* interp/br-util.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/br-op2.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-data.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/bc-util.boot: Likewise.
* interp/ax.boot: Likewise.
* interp/as.boot: Likewise.
* boot/translator.boot: Likewise.
* boot/ast.boot: Likewise.
* boot/includer.boot: Likewise.
* boot/tokens.boot: Add new replacement for integer?, string?,
symbol? and cons?
|
|
* interp/format.boot (pred2English): Likewise.
* interp/i-spec1.boot ($specialOps): Likewise.
|
|
|
|
|
|
* interp/ax.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-data.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-op2.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/category.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/cstream.boot: Likewise.
* interp/define.boot: Likewise.
* interp/format.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-boot.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-timer.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-eval.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-object.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/msg.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nrungo.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/pf2atree.boot: Likewise.
* interp/pile.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/ptrees.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/sfsfun.boot: Likewise.
* interp/showimp.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/word.boot: Likewise.
|
|
* boot/tokens.boot: Don't rename 'is' and 'inst'.
* boot/parser.boot: Use 'in' instead of 'MEMQ' where approrpriate.
* interp/: Likewise.
|
|
* interp/br-search.boot: Use "not" instead of "^".
* interp/br-util.boot: Likewise.
* interp/database.boot: Likewise.
* interp/define.boot: Likewise.
* interp/format.boot: Likewise.
* interp/g-error.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/spad-parser.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
* boot/ast.boot: Use "~=" instead of "^=".
* boot/includer.boot: Likewise.
* boot/translator.boot: Likewise.
* interp/as.boot: Likewise.
* interp/bc-misc.boot: Likewise.
* interp/bc-solve.boot: Likewise.
* interp/bc-util.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-data.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-op2.boot: Likewise.
* interp/br-prof.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/br-util.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/category.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/clammed.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/database.boot: Likewise.
* interp/define.boot: Likewise.
* interp/format.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-timer.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/ht-root.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-code.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-eval.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/intfile.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/macex.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/match.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/msg.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nrungo.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/pathname.boot: Likewise.
* interp/pf2atree.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/postpar.boot: Likewise.
* interp/profile.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/record.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/simpbool.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
* interp/word.boot: Likewise.
|
|
* interp/fnewmeta.lisp (PARSE-Jump): New.
* interp/compiler.boot (compAtom): Dipatch compilation of "break"
and "iterate" to...
(compBreak): ... here
(compIterate): and here.
(jumpFromLoop): New.
(compRepeatOrCollect): Initialize $lookKind, $iterateCount, and
$breakCount. Set exit point for loop bodies with 'iterate'
expressions.
* interp/parse.boot (parseAtom): Remove.
(parseTran): Adjust.
* algebra/outform.spad.pamphlet: Tidy.
* interp/c-util.boot ($loopKind): Declare.
($repeatBodyLabel): Likewise.
($iterateCount): Likewise.
($breakCount): Likewise.
|
|
(mkDefun$MakeFloatCompiledFunction): Tidy.
* interp/c-util.boot (declareUnusedParameters): New.
* interp/i-map.boot: Use it.
* interp/i-spec1.boot: Likewise.
* interp/slam.boot: Likewise.
* lib/cfuns-c.c (writeablep): Document MinGW/MSYS bug work around.
|
|
getSimpleArrayEntry instead of ELT.
|
|
* interp/i-spec1.boot (evalCOLLECT): Fix thinko.
|
|
|
|
construction.
* interp/i-coerfn.boot (L2Tuple): Likewise.
* interp/i-object.boot (asTupleNew): Likewise.
(asTupleNew0): Likewise.
(asTupleNewCode): Likewise.
(asTupleNewCode0): Likewise.
* interp/i-spec1.boot (evalCOLLECT): Likewise.
(interpCOLLECT): Likewise.
* interp/i-spec2.boot (evalTuple): Likewise.
(upNullTuple): Likewise.
|
|
* 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.
|
|
(evalCategory): Use it.
|
|
* interp/i-analy.boot (bottomUp): Change MAP to %Map.
(isEltable): Likewise.
* interp/i-coerce.boot (retract): Likewise.
* interp/i-eval.boot (getArgValue): Likewise.
* interp/i-funsel.boot (selectLocalMms): Likewise.
* interp/i-intern.boot (getValueFromEnvironment): Likewise.
* interp/i-map.boot (mkAuxiliaryName): Likewise.
(augmentMap): Likewise.
(displayMap): Likewise.
(putBodyInEnd): Likewise.
(expandRecursiveBody): Likewise.
* interp/i-output.boot (outputTran): Likewise.
* interp/i-spec1.boot (declare): Likewise.
* interp/i-syscmd.boot (displayMacro): Likewise.
* interp/i-toplev.boot (interpret2): Likewise.
* interp/patches.lisp (MAP): Remove.
* interp/trace.boot (isUncompiledMap): Likewise.
|
|
* interp/i-map.boot (compileCoerceMap): Tell backend that
minivector is global.
* interp/i-spec1.boot (compileADEFBody): Likewise.
* interp/slam.boot (reportFunctionCompilation): Likewise.
* interp/define.boot (spadCompileOrSetq): Tell backend to ignore
last argument for simple functions.
* interp/c-util.boot (skipDeclarations): New.
(lastDeclarationNode): Likewise.
(declareGlobalVariables): Likewise.
(transformToBackendCode): Use them to allow for Lisp
declarations in middle-end forms.
* interp/sys-driver.boot (AxiomCore::%sysInit): Reading Lisp level
Floating point numbers default to double precision.
* algebra/strap: Update.
|
|
* interp/i-spec2.boot (evalIsntPredicate): Likewise.
* interp/sys-utility.boot (existingFile?): Likewise.
|
|
(bottomUp): Use it.
* interp/i-spec1.boot (upand): Likewise.
(upor): Likewise.
(upcase): Likewise.
* interp/i-spec2.boot (uperror): Likewise.
|
|
* interp/i-spec1.boot (upDeclare): Fields are not declarations.
* interp/i-map.boot (getUserIdentifiersIn): Ignore field names.
* testsuite/interpreter/aw-422.input: New.
|
|
(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.
|
|
* 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.
|
|
($minivectorNames): Likewise.
* interp/i-map.boot (compileCoerceMap): Don't set $minivectorNames
and $minivectorCode.
* interp/i-spec1.boot (compileADEFBody): Likewise.
* interp/i-toplev.boot (processInteractive): Likewise.
* interp/nrungo.boot (NRTgetMinivectorIndex): Likewise.
* interp/slam.boot (reportFunctionCompilation): Likewise.
|
|
* interp/i-analy.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/nrungo.boot: Likewise.
* interp/postpar.boot: Likewise.
* interp/wi1.boot: Likewise.
|