Age | Commit message (Collapse) | Author | Files | Lines |
|
* boot/ast.boot: Use makeSymbol in place of INTERN.
* boot/parser.boot: Likewise.
* boot/scanner.boot: Likewise.
* boot/translator.boot: Likewise.
* interp/alql.boot: Likewise.
* interp/as.boot: Likewise.
* interp/ax.boot: Likewise.
* interp/bc-matrix.boot: Likewise.
* interp/bc-solve.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-data.boot: Likewise.
* interp/br-op2.boot: Likewise.
* interp/br-prof.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/define.boot: Likewise.
* interp/format.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/postpar.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/packtran.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/intfile.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/incl.boot: Likewise.
* interp/word.boot: Likewise.
* interp/wi2.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/sys-constants.boot: Likewise.
* interp/showimp.boot: Likewise.
* interp/scan.boot: Likewise.
|
|
designate a place (usable in SETF).
|
|
* interp/g-util.boot (setShellEntry): Remove.
* interp/compiler.boot: Use %store to %tref forms instead of
setHSellEntry.
* interp/define.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/showimp.boot: Likewise.
* interp/c-util.boot (isSimple): Tidy.
(isSideEffectFree): Likewise.
(updateCapsuleDirectory): Likewise.
|
|
|
|
(simplifySEQ): Use it.
|
|
and GGREATERP. Add VM-level complex number operators.
* interp/lisp-backend.boot: Expand them.
* algebra/gaussian.spad.pamphlet (ComplexCategory): Use VM form
instead of Lisp level forms.
* algebra/pfr.spad.pamphlet (PartialFraction): Likewise.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
* algebra/symbol.spad.pamphlet (Symbol): Likewise.
|
|
level operators. Include %property and %bitveclt.
* interp/lisp-backend.boot: Expand them.
* algebra/si.spad.pamphlet (SingleInteger): Tidy. Use %ismall?.
* algebra/domain.spad.pamphlet (DomainConstructo): Use %property.
* algebra/outform.spad.pamphlet (OutputForm): Likewise.
* algebra/boolean.spad.pamphlet (IndexedBits): Use %bitveclt.
|
|
* algebra/data.spad.pamphlet: Tidy.
* algebra/plot.spad.pamphlet: Likewise.
* algebra/plot3d.spad.pamphlet: Likewise.
* algebra/si.spad.pamphlet: Likewise.
* algebra/syntax.spad.pamphlet: Likewise.
* algebra/list.spad.pamphlet: Remove use of NULL$Lisp.
|
|
QCAR. SYMBOLP, GREATERP.
Add %ibit, %ilength, %ident, %equal.
* interp/g-util.boot: Expand them
* algebra/any.spad.pamphlet: Tidy.
* algebra/catdef.spad.pamphlet: Likewise.
* algebra/data.spad.pamphlet: Likewise.
* algebra/domain.spad.pamphlet: Likewise.
* algebra/float.spad.pamphlet: Likewise.
* algebra/fname.spad.pamphlet: Likewise.
* algebra/integer.spad.pamphlet: Likewise.
* algebra/list.spad.pamphlet: Likewise.
* algebra/outform.spad.pamphlet: Likewise.
* algebra/random.spad.pamphlet: Likewise.
* algebra/sex.spad.pamphlet: Likewise.
* algebra/si.spad.pamphlet: Likewise.
* algebra/symbol.spad.pamphlet: Likewise.
* algebra/syntax.spad.pamphlet: Likewise.
|
|
QSETVELT-1, QSINC1, QVELT, QVELT-1.
* algebra/si.spad.pamphlet: Use %iinc and %idec forms.
|
|
|
|
|
|
|
|
($VMsideEffectFreeOperators): Include %listlit and %veclit.
* interp/g-util.boot: Translate them.
|
|
comparaison, not object comparaison.
|
|
|
|
|
|
$NEWSPAD since it always true. Keep note of Lisp-level special
variable even if it is set with SETQ.
(transformToBackendCode): Declare special variables before fluid
and local variables.
* interp/compiler.boot: Don't compile SETQ forms as if they were
Spad codes.
|
|
* interp/spad.lisp (QUOTIENT2): Remove.
(REMAINDER2): Likewise.
* algebra/integer.spad.pamphlet (Integer): Use builtin %idivide.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
|
|
%irem and %iquo.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
|
|
* interp/g-opt.boot (simplifyVMForm): Expand %icst0 and %icst1.
(optIlt): Fold more configurations.
|
|
* 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.
|
|
(optRetract): Simplify the predicate when possible.
(optNot): New transformer.
(optAnd): Likewise.
(optOr): Likewise.
(optIlt): Likewise.
(optIle): Likewise.
(optIgt): Likewise.
(optIge): Likewise.
|
|
(OrderedType) [max,min]: Export and provide defaults.
(OrderedSet): Simplify.
(SetCategory) [before?]: Move to BasicType.
|
|
[leftReducedSystem]: Rename from reducedSystem.
|
|
BasicType if element type satisfies it.
|
|
forwarding function if possible.
|
|
domain modemap references here.
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include more
floating point operators.
($simpleVMoperators): Move FUNCALL here.
(isVMConstantForm): Tidy.
* interp/g-util.boot: Expand more floating point insns.
* interp/c-util.boot (replaceSimpleFunctions): Replace more
constants.
* algebra/integer.spad.pamphlet (Integer): More cleanup. Use
builtin functions.
* algebra/sf.spad.pamphlet: Likewise.
|
|
appropriate.
* interp/g-opt.boot (jumpToToplevel?): New.
(singleAssignment?): Likewise.
(groupVariableDefinitions): Likewise. Use them.
(optimizeFunctionDef): Group toplevel variable definitions into
a bind expression.
* interp/g-util.boot (expandBind): Tidy.
* interp/c-util.boot (transformToBackendCode): Refrain from
enclosing let-expressions in SEQ if not needed.
|
|
|
|
[listYoungTableaus]: Fix thinko. Don't use lattice in its own
initialization before it is defined.
|
|
(optimizeFunctionDef): Use it.
|
|
* interp/c-util.boot (isLispSpecialVariable): Tidy.
(transformToBackendCode): Likewise.
|
|
DifferentialSpace.
|
|
|
|
SETQ by LETT.
|
|
(transformToBackendCode): Use it. Don't add unneeded PROG/RETURN.
|
|
* interp/g-util.boot (expandToVMForm): Likewise.
(expandStore): Refine store to pair components.
* algebra/any.spad.pamphlet (Scope): Use builtin operators.
(Environment): Likewise.
* algebra/domain.spad.pamphlet (FunctionDescriptor): Likewise.
(ConstructorCall): Likewise.
(FunctorData): Likewise.
(OperatorSignature): Likewise.
(Category): Likewise.
(Domain): Likewise.
* algebra/integer.spad.pamphlet (Integer): Likewise.
(NonNegativeInteger): Likewise.
* algebra/outform.spad.pamphlet: Likewise.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
* algebra/syntax.spad.pamphlet (Syntax): Likewise.
|
|
Lisp. Use builtin functions.
|
|
* interp/nruncomp.boot (washFunctorBody): New.
(buildFunctor): Use it.
* interp/g-opt.boot (optBind): New.
(optLIST): Likewise.
|
|
(|check-union|): Likewise.
* interp/compiler.boot (coerceSuperset): Tidy. Generate %Retract
instruction.
* interp/g-opt.boot (optRetract): New.
|
|
(PropositionalLogic): Extend it.
* algebra/aggcat.spad.pamphlet (BitAggregate): Likewise.
* algebra/si.spad.pamphlet (SingleInteger): Assert membership to
BooleanLogic.
|
|
($simpleVMoperators): Augment it.
(semiSimpleRelativeTo?): New.
(isSimpleVMForm): Use it.
* interp/c-util.boot (forwardingCall?): New.
(usesVariablesLinearly?): Likewise.
(expandableDefinition?): Likewise.
(foldSpadcall): Tidy.
(foldExportedFunctionReferences): If a function is discovered to
be expandable, make it so.
* interp/define.boot (spadCompileOrSetq): Tidy.
|
|
when it is already reduced.
|
|
* interp/parse.boot (parseGreaterEqual): Likewise.
|
|
greater-than expressions.
* interp/parse.boot (parseGreaterThan): Remove.
* algebra/data.spad.pamphlet (Byte): Implement all comparison
functions.
* algebra/integer.spad.pamphlet (Integer): Likewise.
* algebra/sf.spad.pamphlet (DoubleFloat): Likewise.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
* algebra/string.spad.pamphlet (Character): Likewise.
|
|
* algebra/op.spad.pamphlet (BasicOperator): Don't export is? here.
Inherit it from OperatorCategory Symbol.
* algebra/catdef.spad.pamphlet (LeftLinearSet): New category.
(RightLinearSet): Likewise.
(LinearSet): Likewise.
(AbelianGroup): Extend LeftLinearSet Integer.
(LeftModule): Extend LeftLinearSet R.
(Module): Extend LinearSet R.
(RightModule): Extend RightLinearSet R.
* algebra/exposed.lsp.pamphlet: Expose LeftLinearSet,
RightLinearSet, and LinearSet.
* algebra/Makefile.pamphlet: Tidy.
|
|
|
|
|
|
* interp/g-util.boot (isSubDomain): Tidy.
* interp/g-opt.boot (isVMConstantForm): New.
(findVMFreeVars): Likewise.
* interp/define.boot (insertViewMorphisms): Remove.
(emitSubdomainInfo): New.
(checkVariableName): Likewise.
(checkParameterNames): Likewise.
(checkRepresentation): Set $subdomain where appropriate.
(compDefines): Check parameter names.
(compDefineFunctor1): Propagate subdomain info.
(doIt): Don't call insertViewMorphisms.
* interp/compiler.boot (setqSingle): Check variable name.
(compIterator): Likewise.
(commonSuperType): New.
(satisfies): Likewise.
(coerceSubset): Use them to implemen cross-subdomain coercion.
(coerceSuperset): New.
(comCoerce1): Use it.
(compPer): New.
(compRep): Likewise.
* interp/c-util.boot (getRepresentation): New.
(proclaimCapsuleFunction): Improve for specialized subdomains.
* algebra/stream.spad.pamphlet: Don't use `per' as variable name.
* algebra/si.spad.pamphlet (size$SingleInteger): Tidy.
(coerce$SingleInteger): Likewise.
* algebra/reclos.spad.pamphlet (nonNull$RealClosure): Don't use
`rep' as parameter name.
* algebra/data.spad.pamphlet (Byte): Now a subdomain of
NonNegativeInteger. Tidy.
|