Hi Eliot -
I've just successfully converted a 3.10.2 image to closures (see follow-on message to Squeak-dev). In the process, the following three problems occurred:
1) DecompilerTests is not present in 3.10 and PreRecompilationPatches.st doesn't load unless you remove the modification to DecompilerTests.
2) #isMessageNode is not understood by ParseNode or MessageNode but sent in the recompilation process. I'm not sure where this is coming from (or where it should be); it could be a bug in 3.10.
3) Recompilation of Preferences results in spurious ERROR listings in the transcript during recompilation. Again, no idea where this comes from.
Other than that the conversion went entirely flawless.
Cheers, - Andreas
Hi Andreas,
On Fri, Mar 6, 2009 at 11:20 PM, Andreas Raab andreas.raab@gmx.de wrote:
Hi Eliot -
I've just successfully converted a 3.10.2 image to closures (see follow-on message to Squeak-dev). In the process, the following three problems occurred:
- DecompilerTests is not present in 3.10 and PreRecompilationPatches.st
doesn't load unless you remove the modification to DecompilerTests.
- #isMessageNode is not understood by ParseNode or MessageNode but sent in
the recompilation process. I'm not sure where this is coming from (or where it should be); it could be a bug in 3.10.
- Recompilation of Preferences results in spurious ERROR listings in the
transcript during recompilation. Again, no idea where this comes from.
Other than that the conversion went entirely flawless.
Thanks! Usage is building. I got the following classic bug from Lukas Renggli this a.m. (I don't have a fix yet)
| col | col := OrderedCollection new. 1 to: 11 do: [ :each | col add: [ each ] ]. col collect: [ :each | each value ])
answers #(12 12 12 12 12 12 12 12 12 12 12) instead of #(1 2 3 4 5 6 7 8 9 10 11).
(Sigh...)
Cheers, - Andreas
Oops. That was intended for Andreas. I'm not sure I like the gmail interface so much :( Apologies.
On Sat, Mar 7, 2009 at 10:34 AM, Eliot Miranda eliot.miranda@gmail.comwrote:
Hi Andreas,
On Fri, Mar 6, 2009 at 11:20 PM, Andreas Raab andreas.raab@gmx.de wrote:
Hi Eliot -
I've just successfully converted a 3.10.2 image to closures (see follow-on message to Squeak-dev). In the process, the following three problems occurred:
- DecompilerTests is not present in 3.10 and PreRecompilationPatches.st
doesn't load unless you remove the modification to DecompilerTests.
- #isMessageNode is not understood by ParseNode or MessageNode but sent
in the recompilation process. I'm not sure where this is coming from (or where it should be); it could be a bug in 3.10.
- Recompilation of Preferences results in spurious ERROR listings in the
transcript during recompilation. Again, no idea where this comes from.
Other than that the conversion went entirely flawless.
Thanks! Usage is building. I got the following classic bug from Lukas Renggli this a.m. (I don't have a fix yet)
| col | col := OrderedCollection new. 1 to: 11 do: [ :each | col add: [ each ] ]. col collect: [ :each | each value ])
answers #(12 12 12 12 12 12 12 12 12 12 12) instead of #(1 2 3 4 5 6 7 8 9 10 11).
(Sigh...)
Cheers,
- Andreas
Eliot Miranda wrote:
Thanks! Usage is building. I got the following classic bug from Lukas Renggli this a.m. (I don't have a fix yet)
| col | col := OrderedCollection new. 1 to: 11 do: [ :each | col add: [ each ] ]. col collect: [ :each | each value ])
answers #(12 12 12 12 12 12 12 12 12 12 12) instead of #(1 2 3 4 5 6 7 8 9 10 11).
(Sigh...)
I noticed that. It's optimized to:do: blocks. My first attempt at showing the difference between closure and context VM was:
1 to: 10 do:[:i| WorldState addDeferredUIMessage:[Transcript cr; show: i]. ].
And of course, that prints 11. If you change it to this:
(1 to: 10) do:[:i| WorldState addDeferredUIMessage:[Transcript cr; show: i]. ].
it works fine because to:do: is no longer optimized.
Cheers, - Andreas
vm-dev@lists.squeakfoundation.org