aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2009-01-07 * algebra/any.spad.pamphlet (Maybe): Rework.dos-reis1-0/+3
2009-01-06 * interp/sys-utility.boot (getVMType): IndexList are lists.dos-reis9-54/+199
* 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.
2009-01-04 * interp/daase.lisp (setdatabase): Set superdomain slot too.dos-reis2-2/+4
* interp/g-util.boot (superType): Handle current domain form. (maximalSuperType): Tidy. (noteSubDomainInfo): Call SETDATABASE.
2009-01-04 * interp/buildom.boot (createEnum): Fix quoting.dos-reis5-18/+17
* interp/compat.boot (system): Likewise. * interp/astr.boot (ncEltQ): Fix declaration. * interp/compiler.boot (compMapCond'): Likewise. (compMapCond): Likewise. (compMapCondFun): Remove declaration.
2009-01-032009-01-03 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis36-230/+252
* Makefile.pamphlet (AXIOM_SRC_TARGETS): Add all-databases. src/ChangeLog 2009-01-03 Gabriel Dos Reis <gdr@cs.tamu.edu> * lisp/core.lisp.in (|%algebraSystemIsComplete|): New. (|%basicSystemIsComplete|): Use it. * interp/wi1.boot (setqSingle): Use maximalSuperType. (coerceSubset): Simplify. (compCoerce1): Tidy. * interp/i-resolv.boot (resolveTCat): Use superType. * interp/lisplib.boot (findConstructorSlotNumber): Use isSubset. (sigsMatch): Likewise. (findDomainSlotNumber): Likewise. * interp/define.boot (compSubDomain1): Reject for complex subdomain predicate. Support paramterized subdomains. * interp/daase.lisp (interpOpen): Read superdomain slot. (getdatabase): Remove adhoc hardcoded superdomain info. Return superdomain info stored in database. (localnrlib): Read superdomain info. (write-interpdb): Write superdomain info. (database): Add superdomain slot. * interp/g-util.boot (superType): New. (maximalSuperType): Rework. Support parameterized subdomains. (noteSubDomainInfo): New. (isSubDomain): Rework. * interp/c-util.boot (isSubset): Rework. * interp/g-opt.boot (optEQ): Remove. * interp/g-cndata.boot (getImmediateSuperDomain): Remove. (maximalSuperType): Move to g-util.boot. * interp/types.boot (%Constructor): New type specifier. (%Instantiation): Likewise. * interp/compiler.boot (primitiveType): Don't return $NegativeInteger. (maxSuperType): Remove. (hasType): Use maximalSuperType. (satisfies): New. (coerceSubset): Use it. Simplify. * interp/wi2.boot (smallIntegerStep): Use maximalSuperType. * interp/sys-constants.boot ($AtVariables): New. ($NegativeInteger): Remove. ($NonPositiveInteger): Likewise. ($CategoryNames): Category is not a category. * interp/property.lisp: Remove Subsets property settings. * interp/i-coerce.boot (coerceSubDomain): Simplify. (coerceImmediateSubDomain): Remove. (getSubDomainPredicate): Simplify. * interp/category.boot (SourceLevelSubset): Use isSubDomain. (MachineLevelSubset): Likewise. * interp/modemap.boot (mergeModemap): Likewise. (isSuperDomain): Remove. (augModemapsFromDomain): Support parameterized subdomains. * interp/i-util.boot (isSubDomain): Move to g-util.boot. * Makefile.pamphlet (all-databases): New target. * interp/Makefile.pamphlet ($(AXIOMSYS)): Push :open-axiom-algebra-system onto *FEATURES*. * etc/Makefile.in (all-databases): New target.
2009-01-03 * interp/buildom.boot (UnionEqual): Don't call orderUnionEntries.dos-reis3-63/+6
(coerceUn2E): Likewise. (mkUnionFunList): Likewise. * interp/i-coerce.boot (coerceUnion2Branch): Likewise. (coerceBranch2Union): Likewise. ($newCompilerUnionFlag): Remove. (orderUnionEntries): Likewise. (mkPredList): Remove dead code.
2009-01-02 * interp/c-util.boot (updateCapsuleDirectory): Record constantdos-reis1-3/+14
makers too. (replaceSimpleFunctions): Fold simple constant form makers.
2009-01-02 * interp/pf2sex.boot (pfLiteral2Sex): Fix evaluation of intergersdos-reis2-2/+17
with non-decimal radix. * interp/scan.boot (rdigti?): Allow non-capital letters.
2008-12-28 * interp/define.boot (compDefineFunctor1): Remove dead code.dos-reis3-25/+4
(compile): Likewise. * interp/functor.boot (isPackageFunction): Remove. * interp/wi2.boot (compDefineFunctor1): Remove dead code.
2008-12-27 * interp/c-util.boot (isSubset): Don't check for Object.dos-reis2-5/+3
* interp/cattable.boot (hasCat): Likewise. (simpTempCategoryTable): Don't substitute for Object.
2008-12-27 * algebra/net.spad.pamphlet (readBytes!$InputByteConduit): Setdos-reis1-1/+1
length of buffer to count of bytes read. * algebra/si.spad.pamphlet (SingleInteger): Now formally subdomain of Integer.
2008-12-26 r12485@gauss: gdr | 2008-12-17 16:26:21 -0600dos-reis6-12/+79
Branch to improve reflection. r12493@gauss: gdr | 2008-12-20 23:29:51 -0600 Add domain representations for constructors. r12494@gauss: gdr | 2008-12-21 14:27:37 -0600 Consolidate constructor domains. r12502@gauss: gdr | 2008-12-22 20:36:21 -0600 Constructors are values. r12504@gauss: gdr | 2008-12-25 13:58:01 -0600 r12505@gauss: gdr | 2008-12-25 18:48:04 -0600 Commit ChangeLog.
2008-12-22 * interp/i-eval.boot (evaluateType0): Check for builtindos-reis2-5/+5
constructors. (evaluateType): Likewise. * interp/i-spec2.boot (isType): Reject unsaturated constructors.
2008-12-21 * interp/define.boot (checkRepresentation): Take a thirddos-reis1-8/+19
argument. Provide view morphisms for domain extensions. (compCapsule): Adjust call. * algebra/alql.spad.pamphlet (DataList): Use per and rep. * algebra/fortmac.spad.pamphlet (MachineInteger): Likewise. * algebra/fortran.spad.pamphlet (FortranExpression): Likewise. * algebra/integer.spad.pamphlet (NonNegativeInteger): Likewise. (PositiveInteger): Likewise. * algebra/ituple.spad.pamphlet (InfiniteTuple): Likewise. * algebra/matrix.spad.pamphlet (RectangularMatrix): Likewise. * algebra/pf.spad.pamphlet (InnerPrimeField): Likewise. * algebra/radix.spad.pamphlet (BinaryExpansion): Likewise. (DecimalExpansion): Likewise. (HexadecimalExpansion): Likewise.
2008-12-20 * interp/i-analy.boot (elaborateForm): New.dos-reis2-7/+13
* interp/i-spec2.boot (uphas): Use it. Evaluate first operand.
2008-12-20 * interp/define.boot (checkRepresentation): Take a seconddos-reis1-5/+10
argument. For domain extensions, warn about useless assignment to Rep, and syntactically conflicting assignment to Rep.
2008-12-19 * interp/define.boot (insertViewMorphisms): New.dos-reis5-62/+81
(checkRepresentation): Rename from maybeInsertViewMorphisms. Tidy. (compDefineFunctor1): Tidy. (doIt): Insert view morphisms if appropriate.
2008-12-16 r12470@gauss: gdr | 2008-12-14 17:43:50 -0600dos-reis23-458/+407
Forgot to commit ChangeLog. r12471@gauss: gdr | 2008-12-14 19:11:21 -0600 Fix typo in PrimitiveRatRicDE. r12472@gauss: gdr | 2008-12-15 01:40:45 -0600 Reformat preparse.lisp. r12473@gauss: gdr | 2008-12-15 03:25:17 -0600 Tidy. r12474@gauss: gdr | 2008-12-15 21:33:54 -0600 Remove unused codes. r12475@gauss: gdr | 2008-12-15 21:57:22 -0600 . r12476@gauss: gdr | 2008-12-15 23:07:49 -0600 Tidy fatal diagnostics. r12477@gauss: gdr | 2008-12-15 23:50:02 -0600 Fold iterator.boot into compiler.boot.
2008-12-14 r12459@gauss: gdr | 2008-12-12 18:18:31 -0600dos-reis11-91/+98
Tidy compApplyModemap. r12460@gauss: gdr | 2008-12-13 09:24:50 -0600 Tidy compMapCond. r12461@gauss: gdr | 2008-12-13 10:24:14 -0600 Activate compViableModemap. r12462@gauss: gdr | 2008-12-13 11:18:17 -0600 Remove pmatch and pmatchWithSl out of main compiler. r12463@gauss: gdr | 2008-12-13 12:26:44 -0600 Tidy compApplyModemap. r12464@gauss: gdr | 2008-12-13 16:39:28 -0600 Add compExclusiveOr. r12465@gauss: gdr | 2008-12-13 16:54:58 -0600 . r12466@gauss: gdr | 2008-12-14 15:01:33 -0600 Tidy compLogicalNot.
2008-12-12 r12454@gauss: gdr | 2008-12-12 14:07:23 -0600dos-reis1-14/+31
Tidy Middle End IL.
2008-12-12 r12453@gauss: gdr | 2008-12-12 09:39:28 -0600dos-reis1-0/+51
Introduce Middle IL.
2008-12-12 r12452@gauss: gdr | 2008-12-12 09:04:43 -0600dos-reis2-2/+10
Add some documentation.
2008-12-12 r12451@gauss: gdr | 2008-12-12 08:39:20 -0600dos-reis4-47/+42
Tidy.
2008-12-11 r12443@gauss: gdr | 2008-12-11 15:51:39 -0600dos-reis3-44/+9
Remove unused parse codes.
2008-12-11 r12442@gauss: gdr | 2008-12-11 11:58:07 -0600dos-reis1-5/+0
Remove dead code.
2008-12-11 r12440@gauss: gdr | 2008-12-11 05:38:58 -0600dos-reis1-2/+2
Tidy resolveNiladicConstructors.
2008-12-11 r12439@gauss: gdr | 2008-12-10 10:50:26 -0600dos-reis1-5/+4
Tidy resolveNiladicConstructors.
2008-12-11 r12438@gauss: gdr | 2008-12-10 01:20:20 -0600dos-reis2-5/+3
Remove quotify.
2008-12-11 r12437@gauss: gdr | 2008-12-09 22:23:31 -0600dos-reis1-17/+1
Remove unused parse functions.
2008-12-11 r12436@gauss: gdr | 2008-12-09 21:32:50 -0600dos-reis2-19/+36
Modularize S-PROCESS.
2008-12-09 r12415@gauss: gdr | 2008-12-06 11:42:45 -0600dos-reis2-16/+32
Implement basic support for pattern matching. r12416@gauss: gdr | 2008-12-06 18:09:19 -0600 Parse case pattern match. r12417@gauss: gdr | 2008-12-06 21:28:30 -0600 Implement basic case pattern matching for retractable domain. r12418@gauss: gdr | 2008-12-07 00:58:58 -0600 Refine retractability implementation. r12419@gauss: gdr | 2008-12-07 01:39:32 -0600 Update cached Lisp translation r12420@gauss: gdr | 2008-12-07 03:52:09 -0600 r12421@gauss: gdr | 2008-12-07 10:30:44 -0600 Implement type recovery too. r12422@gauss: gdr | 2008-12-07 19:18:09 -0600 Simplify LET-forms and COND-forms. r12423@gauss: gdr | 2008-12-07 21:21:12 -0600 Fix typos r12424@gauss: gdr | 2008-12-08 01:14:54 -0600 Parse case-pattern in the interpreter. r12427@gauss: gdr | 2008-12-08 20:32:29 -0600 Handle RetractableTo T.
2008-12-082008-12-07 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis16-10/+330
* 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-12-03 * interp/compiler.boot (compIs): Error if left operand is not ados-reis1-1/+4
domain expression.
2008-12-02 * interp/parsing.lisp (initial-substring-p): Match case sensitively.dos-reis1-1/+1
2008-12-01 * interp/define.boot (compile): Don't check for PAC names.dos-reis4-18/+15
* interp/g-opt.boot (optCall): Likewise. * interp/functor.boot (SetFunctionSlots): Likewise. (mkOperatorEntry): Lose first parameter. (optPackageCall): Remove. * interp/category.boot (mkCategory): Document. Adjust call to mkOperatorEntry.
2008-12-01 * interp/parse.boot (parseEquivalence): Remove.dos-reis1-8/+0
2008-12-01 * interp/define.boot (disallowNiAttribute): Remove.dos-reis1-5/+3
(compDefineFunctor1): Don't use it anymore. (compCategoryItem): Filter out nil attributes here.
2008-11-30 * interp/nruncomp.boot (deltaTran): Don't check for $NRTaddFormdos-reis2-4/+2
againg; it was already checked by NRTassocIndex. (genDeltaEntry): Likewise. (NRTgetLocalIndex): Likewise. * interp/wi2.boot (genDeltaExntry): Likewise.
2008-11-30 * interp/define.boot (mustInstantiate): Fix thinko introduced bydos-reis1-4/+4
earlier tweaks. (mkExplicitCategoryFunction): Likewise.
2008-11-29 * interp/nruncomp.boot (genDeltaSpecialSig): Remove, as unused.dos-reis1-4/+0
2008-11-29 * interp/nruncomp.boot (deltaTran): Don't encode signature again.dos-reis1-5/+3
(genDeltaEntry): Remove dead pattern match.
2008-11-29 * interp/compiler.boot (setqSingle): Use setShellEntry.dos-reis6-12/+17
* interp/wi1.boot (setqSingle): Likewise. * interp/functor.boot (setVector4): Likewise. (DescendCode): Abort on SETELT opcode. (SetFunctionSlots): Likewise. * interp/nrunfast.boot (evalSlotDomain): Likewise. * interp/nrungo.boot (NRTevalDomain): Likewise. * interp/showimp.boot (getDomainRefName): Match "setShellEntry".
2008-11-29Misc cleanupdos-reis1-25/+24
2008-11-29 * interp/define.boot (compCapsuleInner): Call processFunctor.dos-reis3-131/+2
* interp/wi2.boot (compCapsuleInner): Likewise. * interp/functor.boot (processFunctorOrPackage): Remove. (processPackage): Likewise. (subTree): Likewise. (setPackageLocals): Likewise. (PackageDescendCode): Likewise.
2008-11-29 * interp/nruncomp.boot (buildFunctor): Remov reference to $NRTvec.dos-reis4-22/+13
* interp/nrunfast.boot ($NRTvec): Don't define.
2008-11-27 * interp/server.boot (serverLoop): Remove, as unused.dos-reis1-43/+0
2008-11-27 * interp/nruncomp.boot (NRTgetAddForm): Remove, as unused.dos-reis1-5/+0
2008-11-27 * interp/nruncomp.boot (NRTassocIndex): Don't set $found.dos-reis1-3/+3
2008-11-27Fix spelling.dos-reis4-7/+7
2008-11-26 * interp/define.boot (compSignature): New. Split fromdos-reis1-38/+42
compCategoryItem. (compCategoryItem): Use it. Tidy. (quotifyCategoryArgument): Remove. (mkEvalableCategoryForm): Tidy.