NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Smalltalk/Squeak on NetBSD-10
The update Squeak transcript shows the following, a few manual depresses
on the "proceed" button was required to get through.
1 ========== Environments-cwp.47 ==========
2
3 Rename EnvironmentRequest to CurrentEnvironment and use it to implement Environment class>>current.
4
5 ========== Kernel-cwp.844 ==========
6
7 merge
8
9 >>> Kernel-cwp.840 <<<
10 Rename EnvironmentRequest to CurrentEnvironment.
11
12 >>> Kernel-nice.843 <<<
13 Correct the bug I introduced for large integer sqrtFloor.
14
15 If receiver was of the form 2^2n*u
16 we did answer 2^n *E(sqrt(u))
17
18 But sqrt(u) = E(sqrt(u)) + residue
19 where 0<=residue<1
20 And result is rather
21 E(2^n*sqrt(u))
22 = E( 2^n*(E(sqrt(u)) + residue))
23 = 2^n*E(sqrt(u)) + E(2^n*residue)
24
25 As 2^n * residue can be big (superior to 1), we miss the correct value by default.
26
27 If we want to correct this, an approximation of residue is (u-E(sqrt(u))^2) / 2 E(sqrt(u))
28 This is more or less like super Newton-Raphson inner loop...
29 It would be possible to duplicate super work, but I feel like it's adding too much complexity for small reward, so I prefer to remove offending code for now
30
31 >>> Kernel-nice.842 <<<
32 Avoid using #reciprocalFloorLog:
33 #reciprocalFloorLog: does the same as #floorLog: just with more noise.
34 Once upon a time it was required, but it is not anymore and should be deprecated.
35
36 Note that floorLog: already cumulates 3 rounding errors via (self ln / base ln)
37
38 (-1 to: (Float fminDenormalized floorLog: 10) + 1 by: -1)
39 count: [:i |
40 | pow |
41 pow := 10 raisedTo: i.
42 (pow asFloat floorLog: 10) < i and: [pow asFloat >= pow]].
43 89
44
45 But reciprocalFloorLog: is even worse:
46
47 (-1 to: (Float fminDenormalized floorLog: 10) + 1 by: -1)
48 count: [:i |
49 | pow |
50 pow := 10 raisedTo: i.
51 (pow asFloat reciprocalFloorLog: 10) < i and: [pow asFloat >= pow]].
52 149
53
54 >>> Kernel-nice.841 <<<
55 Provide a somehow slower, but correct version of Integer>>#nthRoot: w.r.t. exactness
56
57 >>> Kernel-nice.840 <<<
58 Correct a comment: integerPart is the integer part, not the fractional part.
59
60 >>> Kernel-nice.839 <<<
61 For conformance to IEEE 754-2008 (IEC 60559-2011), the sucessor of Float fmin negated is now a negativeZero.
62
63 >>> Kernel-nice.838 <<<
64 Don't let 0.1s1 // 0.1s1 engage an infinite loop when super would just do it right.
65
66 >>> Kernel-nice.837 <<<
67 Allow uppercase exponents in ExtendedNumberParser ('1.00E-2' asNumber)
68
69 ========== System-cwp.670 ==========
70
71 Rename EnvironmentRequest to CurrentEnvironment, use the new "Environment current" mechanism where appropriate.
72
73 >>> System-cmm.669 <<<
74 #moveChanges should prompt for the name of the condensed sources.
75
76 >>> System-cmm.668 <<<
77 - Fix to SmalltalkImage>>#sourcesName allows appending the changes to the sources file (via Levente's SmalltalkImage>>#appendChangesTo:) to work.
78 - Added #moveChanges as this should become a normal part of the release process.
79 - Some categorizations.
80
81 >>> System-cmm.667 <<<
82 - Added method to get a valid MethodReference from a stale, invalid one.
83
84 ========== Monticello-cwp.589 ==========
85
86 Rename EnvironmentRequest to CurrentEnvironment.
87
88 >>> Monticello-cmm.588 <<<
89 Don't argue with the user if they don't want to supply a password.
90
91 >>> Monticello-cmm.587 <<<
92 Warn when about to serialize an empty mcz.
93
94 MCClassDefinition>>createClass(traitComposition is shadowed)
95 ========== KernelTests-nice.264 ==========
96
97 A non regression test for just found sqrtFloor bug.
98
99 >>> KernelTests-nice.263 <<<
100 Rename misleading variable (powers of 6 are 6^0, 6^1, 6^2, ... we want 2^6, 3^6, etc...)
101 Make a bit more explicit that they are raised to 6.
102
103 >>> KernelTests-nice.262 <<<
104 Assert that nthRoot is exact on more cases.
105 Note how current implementation fails.
106
107 >>> KernelTests-nice.261 <<<
108 According to IEEE 754-2008 (IEC 60559-2011), the sucessor of Float fmin negated should be a negativeZero.
109
110 >>> KernelTests-nice.260 <<<
111 Assert that uppercase exponents are allowed in ExtendedNumberParserTest ('1.00E-2' asNumber)
112
113 ========== Morphic-cmm.721 ==========
114
115 It's not necessary to use a random pause for smart-splitters, I never noticed any patternistic emergence, but the call to atRandom from Morphic did result in an image lockup once when there was a lock on Collection class' #mutexForPicking.
116
117 ========== Tests-cwp.291 ==========
118
119 Rename EnvironmentRequest to CurrentEnvironment.
120
121 ========== ReleaseBuilder-cmm.115 ==========
122
123 Added ReleaseBuilder class>>#prepareNextVersionAlpha, for preparing first alpha of next release.
124
125 ========== Environments-cmm.51 ==========
126
127 - Environment preamble, repair your 'Instances' dictionary, make Environments consistently named with Symbols.
128 - EnvironmentInfo, ensure incoming Strings for your name are coerced to Symbols.
129
130 >>> Environments-cwp.50 <<<
131 Create a new binding when renaming classes.
132
133 >>> Environments-cwp.49 <<<
134 Make sure globals are properly destroyed along with their environment.
135
136 >>> Environments-cwp.48 <<<
137 Clean up observers when destroying an environment.
138
139 ========== Files-cmm.131 ==========
140
141 - Extract Levente's improved file-copy from SmalltalkImage>>#appendChangesTo: (into FileDirectory>>#copyFile:toFile:) which honors copy semantics without needing to make assumptions about the streams passed.
142 - Minor factoring for FileDirectory>>#directoryEntryFor:.
143 - Add String>>#asDirectoryEntry conversion method.
144
145 ========== Environments-cmm.57 ==========
146
147 Fix access to globals which were defined by: Smalltalk at: #MyGlobal ifAbsentPut: [myValue].
148
149 >>> Environments-topa.56 <<<
150 Provide more Dictionary protocol for exisiting users of Smalltalk globals.
151
152 >>> Environments-topa.55 <<<
153 3rd attempt at class-rename fixes.
154
155 This version
156 a) avoids #becomeForward:
157 b) fixes method homes after rename
158 c) moves the obsolete binding to undeclared but keeps it working.
159
160 Effectively, this is the outcome:
161 | p |
162 p := Object subclass: #A instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Unknown'.
163 p compile: 'foo ^ A new'.
164 " literals of #foo {#A=>A . #foo . #A=>A}"
165 p rename: #B.
166 " literals of #foo {#A=>B . #foo . #B=>B}"
167 p new foo class == p.
168
169 >>> Environments-topa.54 <<<
170 Update literal bindings in compiled methods when renaming a class.
171
172 Restores working behavior of pre-Squeak4.5.
173
174 >>> Environments-cmm.53 <<<
175 - Only change key when it is NOT in the 'bindings' Dictionary, otherwise it would be in a state inconsistent with its new hash.
176
177 >>> Environments-cmm.52 <<<
178 - Roll back cwp.50 because creating a new binding leaves the CM-literal bindings in their old state.
179 - Don't signal #binding:removedFrom: because it's becoming the literal in CM's to a newly created Undeclared literal with the old name.
180 - So since we no longer signal removed: don't signal #binding:addedTo: either.
181 Renaming is a updating of a binding, not a removing or adding.
182
183 ========== Kernel-topa.845 ==========
184
185 hotfix: Pick up trunk method necessary for class renames.
186
187 ========== Tools-topa.520 ==========
188
189 Cherry-picked from Trunk (Tools-topa.533):
190
191 Fix notification about obsolete class references after a class rename
192
193 ========== System-cmm.671 ==========
194
195 Let Squeak 4.5 know whether it isRunningSpur.
196
197 ========== Protocols-bf.47 ==========
198
199 Restore timestamps lost in assignment conversion.
200
201 ========== SystemReporter-eem.22 ==========
202
203 Bring the wonderful SystemReporter up-to-date w.r.t. Cog and Spur.
--
vl
Home |
Main Index |
Thread Index |
Old Index