aboutsummaryrefslogtreecommitdiff
path: root/src/ChangeLog
blob: 8053d465f74bbe00314eb18c1994ae291d8bd5ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
2009-01-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-utility.boot (getVMType): IndexList are lists.
	* 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  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/daase.lisp (setdatabase): Set superdomain slot too.
	* interp/g-util.boot (superType): Handle current domain form.
	(maximalSuperType): Tidy.
	(noteSubDomainInfo): Call SETDATABASE.

2009-01-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/buildom.boot (createEnum): Fix quoting.
	* interp/compat.boot (system): Likewise.
	* interp/astr.boot (ncEltQ): Fix declaration.
	* interp/compiler.boot (compMapCond'): Likewise.
	(compMapCond): Likewise.
	(compMapCondFun): Remove declaration.

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-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/buildom.boot (UnionEqual): Don't call orderUnionEntries.
	(coerceUn2E): Likewise.
	(mkUnionFunList): Likewise.
	* interp/i-coerce.boot (coerceUnion2Branch): Likewise.
	(coerceBranch2Union): Likewise.
	($newCompilerUnionFlag): Remove.
	(orderUnionEntries): Likewise.
	(mkPredList): Remove dead code.

2009-01-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (updateCapsuleDirectory): Record constant
	makers too.
	(replaceSimpleFunctions): Fold simple constant form makers.

2009-01-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/pf2sex.boot (pfLiteral2Sex): Fix evaluation of intergers
	with non-decimal radix.
	* interp/scan.boot (rdigti?): Allow non-capital letters.