aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2010-07-29 * algebra/sf.spad.pamphlet (DoubleFloat): Use builtindos-reis2-0/+19
trigonometric functions. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include them. * interp/g-util.boot: Expand them. * include/edible.H1: Move declarations to clef/edible.c. Remove. * driver/utils.h: Give G linkage to declarations. * sman/Makefile.in: Link programs against C++ runtime.
2010-07-29 * interp/c-util.boot (removeToplevelRETURN_-FROM): New.dos-reis1-1/+11
(transformToBackendCode): Use it to clean function body.
2010-07-28 * interp/spad.lisp (DIVIDE2): Remove.dos-reis12-46/+41
* interp/vmlisp.lisp (QSQUOTIENT): Likewise. (QSREMAINDER): Likewise. * interp/buildom.boot: Use quo and rem in leur of QUOTIENT and REMAINDER or variants. * interp/g-timer.boot: Likewise. * interp/g-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-output.boot: Likewise. * interp/incl.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/topics.boot: Likewise.
2010-07-28 * interp/sys-globals.boot ($VariableCount): Remove.dos-reis4-19/+6
* interp/spad.lisp (QUOTIENT2): Remove. (REMAINDER2): Likewise. * algebra/integer.spad.pamphlet (Integer): Use builtin %idivide. * algebra/si.spad.pamphlet (SingleInteger): Likewise.
2010-07-28 * algebra/integer.spad.pamphlet (Integer): Use builtin functionsdos-reis1-11/+13
%irem and %iquo. * algebra/si.spad.pamphlet (SingleInteger): Likewise.
2010-07-28 * interp/g-opt.boot: Transform %iquo and %irem expressions.dos-reis1-0/+11
($VMsideEffectFreeOperators): Include %irem and %iquo.
2010-07-27 * interp/i-analy.boot (bottomUpCompile): Use massageBackendCode indos-reis1-1/+1
lieu of mutateToBackendCode.
2010-07-27 * interp/types.boot (%Code): Include %Char.dos-reis2-12/+12
* interp/c-util.boot (middleEndExpand): Temporarilty Comment out signature.
2010-07-27Misc cleanupdos-reis5-35/+35
2010-07-26 * interp/g-opt.boot (optCond): Work harder at denesting nesteddos-reis1-6/+5
if-expressions.
2010-07-26 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include newdos-reis2-10/+18
opcodes %icst0, %icst1, %when, and %ccst. * interp/g-util.boot: Expand %ccst. * algebra/alql.spad.pamphlet: Clean up. * algebra/array1.spad.pamphlet: Likewise. * algebra/c02.spad.pamphlet: Likewise. * algebra/d03.spad.pamphlet: Likewise. * algebra/e04.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise.
2010-07-26 * algebra/si.spad.pamphlet (SingleInteger): Tidy.dos-reis1-0/+8
* interp/g-opt.boot (simplifyVMForm): Expand %icst0 and %icst1. (optIlt): Fold more configurations.
2010-07-26 * interp/g-opt.boot (optCond): Simplify newly built COND-expression.dos-reis1-1/+1
2010-07-26 * interp/g-opt.boot (optimize): Remove as no longer used.dos-reis3-26/+4
* interp/define.boot (DomainSubstitutionFunction): Use simplifyVMForm in lieu of optimize. * interp/nruncomp.boot (NRTsetVector4a): Likewise.
2010-07-26 * interp/g-opt.boot (oprCond): Replace use of TruthP with directdos-reis1-2/+2
comparison to %true.
2010-07-25 (optCallSpecially): Remove deadcode.dos-reis2-12/+1
2010-07-25 * interp/g-opt.boot (optCall): Don't call optimize again.dos-reis1-14/+13
2010-07-25use simplifyVMForm instead of optimizedos-reis1-1/+1
2010-07-25 * interp/g-opt.boot (simplifyVMForm): Don't call optimize.dos-reis1-3/+16
(optCall): Handle VM macro expansions here.
2010-07-25 * interp/g-opt.boot (resetTo): New.dos-reis3-10/+17
(optCatch): Use it. (optCall): Likewise. (optSpecialCall): Likewise. (simplifyVMForm): Handle simple cases here. * interp/macros.lisp (RPLACW): Remove.
2010-07-25 * interp/g-opt.boot (optIadd): More simplification if either dos-reis1-0/+6
operand is zero. (optIsub): Likewise. (optImul): More simplifications if either operand is one.
2010-07-25 * interp/c-util.boot (usedSymbol?): Move to g-util.boot.dos-reis6-22/+25
* interp/nruncomp.boot (NRTsetVector4a): Tidy.
2010-07-25 * interp/cattable.boot: Use %true for truth value in VM expressions.dos-reis13-58/+43
* interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/mark.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/slam.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/sys-constants.boot: Remove $true and $false as unused.
2010-07-24 * interp/compiler.boot (compMatchAlternative): Don't generatedos-reis2-6/+13
LET-expressions. * interp/g-opt.boot (optBind): Tidy.
2010-07-23 * interp/g-opt.boot (optBind): Check for dependencies indos-reis2-8/+9
initializations in %bind expressions. * interp/g-util.boot (expandBind): The body of s %bind expression may be a sequence of statements.
2010-07-23 * interp/g-util.boot: Remove expansion for %ble, %bgt, %bge.dos-reis2-19/+17
* interp/g-opt.boot (optMINUS): Remove. (opt_-): Likewise. (optBle): New. (optBgt): Likewise. (optBge): Likewise.
2010-07-23 * interp/g-opt.boot (optMINUS): Remove.dos-reis1-31/+10
(opt_-): Likewise.
2010-07-23 * interp/g-util.boot (expandFeq): New.dos-reis1-1/+6
* algebra/sf.spad.pamphlet (DoubleFloat): Tidy.
2010-07-22more cleanupdos-reis1-3/+3
2010-07-22 * interp/g-util.boot (expandIeq): New expander for %ieq.dos-reis5-8/+42
* interp/g-opt.boot (optIeq): New. (optIadd): Likewise. (optIsub): Likewise. (optImul): Likewise. (optIneg): Likewise. (lispize): Remove.
2010-07-22 * interp/g-opt.boot (simplifyVMForm): New.dos-reis1-6/+59
(optRetract): Simplify the predicate when possible. (optNot): New transformer. (optAnd): Likewise. (optOr): Likewise. (optIlt): Likewise. (optIle): Likewise. (optIgt): Likewise. (optIge): Likewise.
2010-07-22 * algebra/data.spad.pamphlet (Byte) [~]: Tidy.dos-reis2-7/+27
(SystemNonNegativeInteger) [~]: Likewise. * interp/g-util.boot: Better expansion of byte operations.
2010-07-19 * interp/g-opt.boot ($VMsideEffectFreeOperators): Includedos-reis2-11/+31
byte relation operators and bitmakst operators. * interp/g-util.boot: Expand them. * algebra/data.spad.pamphlet (Byte): Now satisfies Logic. Tidy. (SystemNonNegativeInteger): Likewise. * algebra/java.spad.pamphlet (JVMBytecode): Rename from JavaBytecode. (JVMClassFileAccess): New. (JVMFieldAccess): Likewise. (JVMMethodAccess): Likewise. (JVMConstantTag): Likewise. (JVMOpcode): Likewise.
2010-07-18 * boot/tokens.boot: Add char? as builtin function.dos-reis2-8/+8
* interp/i-output.boot (appChar): Fix thinko. (outformWidth): Likewise. (WIDTH): Likewise.
2010-07-18More cleanupsdos-reis17-44/+44
2010-07-18More cleanupsdos-reis29-115/+124
2010-07-13 * interp/g-opt.boot: %sname is a side-effect free operator.dos-reis2-1/+2
* interp/g-util.boot: Expand it. * algebra/syntax.spad.pamphlet (Identifer): Now satisfies CoercibleTo String.
2010-07-12cleanupsdos-reis46-127/+127
2010-07-11 * interp/database.boot (markUnique): Remove.dos-reis11-49/+15
($FunctionDescriptorTail): Likewise. (getOperationAlistFromLisplib): Likewise. (getOplistForConstructorForm): Adjust. * interp/br-op1.boot (getDomainOpTable): Likewise. * interp/br-op2.boot (koOps): Likewise. * interp/define.boot (genDomainViewList): Likewise. * interp/i-analy.boot (namedConstant): Likewise. * interp/i-coerce.boot (getConstantFromDomain): Likewise. * interp/i-funsel.boot (isOpInDomain): Likewise. (findCommonSigInDomain): Likewise. (findUniqueOpInDomain): Likewise. (hasSig): Likewise. * interp/i-spec2.boot (constantInDomain?): Likewise. * interp/trace.boot (spadTrace): Likewise. * interp/lisplib.boot (transformOperationAlist): Simplify.
2010-07-10 * interp/database.boot (addConsDB): Remove.dos-reis3-28/+1
(getOperationAlistFromLisplib): Don't call it. * interp/sys-driver.boot (initializeGlobalState): Remove kludge. * interp/util.lisp (BUILD-INTERPSYS): Likewise.
2010-07-10 * interp/database.boot (addConsDB): Move from mapConsDB.dos-reis2-33/+22
* interp/nruncomp.boot (mapConsDB): Remove. (catList2catPackageList): Likewise.
2010-07-10 * interp/functor.boot (setVector4): Remove. Deadcode.dos-reis6-116/+2
(setVector4Onecat): Likewise. (setVector4part3): Likewise. * interp/nruncomp.boot (NRTsetVector4): Likewise. (NRTsetVector4Part2): Likewise. (mergeAppend): Likewise. * interp/define.boot (compDefineFunctor1): Remove assignment to unused $lisplibCategoriesExtented. * interp/lisplib.boot (compDefineLisplib): Likewise. * interp/wi1.boot (compDefineLisplib): Likewise. * interp/wi2.boot (compDefineFunctor1): Likewise.
2010-07-10 * interp/nruncomp.boot (buildFunctor): Remove deadcode.dos-reis1-21/+5
2010-07-10 * interp/sys-utility.boot (minimalise): Move from compress.boot.dos-reis5-77/+29
Rewrite local worker to use explicit hash table parameter instead of special variable. * interp/compress.boot (minimalise): Move to sys-utility.boot. Delete file. * interp/nruncomp.boot (buildFunctor): Don't bother to minimalise.
2010-07-10 * interp/sys-constants.boot ($noEnv): Remove.dos-reis3-7/+4
* interp/info.boot (actOnInfo): Adjust.
2010-07-10 * interp/functor.boot (SetFunctionSlots): Simplify. The outerdos-reis1-24/+22
loop was executed only once.
2010-07-05 * interp/compiler.boot (compTopLevel): Bind $whereDecls.dos-reis2-3/+42
(recordDeclarationInSideCondition): New. Update it. (compWhere): Call it. * interp/define.boot ($whereDecls): Define at toplevel. (typeDependencyPath): New. (inferConstructorImplicitParameters): Likewise. (compDefineFunctor1): Use it.
2010-07-03 * interp/category.boot (isCategoryForm): Tidy.dos-reis7-35/+66
* interp/compiler.boot (compMacro): Handle parameterized definition. * interp/define.boot (macroExpand): Likewise. (macroExpandList): Move case for niladic macros to macroExpand. * interp/g-util.boot (putMacro): New utility function.
2010-07-03 * interp/define.boot (macroExpand): Tidy. Only identifiers aredos-reis2-24/+23
allowed to be macro names.
2010-07-01 * interp/define.boot (registerInlinableDomain): New.dos-reis2-10/+12
(compAdd): Use it to promote base domains for inlining. * interp/c-util.boot (lookupFunctionInstance): Foeld into lookupDefiningFunction. Remove. (lookupDefiningFunction): Evaluate only system domains to avoid cycles.