Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
(obsolete) Version 4
Last updated at 2:13 am UTC on 26 January 2020
This is very, very, obsolete. See (obsolete) VI4 for more about that.



Version 4 is expected to incorporate a number of incompatible changes to the image format, and possibly to the format of the sources and changes files. The motivation for this work includes a number of factors
Within the context of this page, the Version 4 changes are solely those related to new formats and any image-side changes to support them. It is intended that Version 4 will be produced automatically from Version 3.8 or 3.9, with no significant change to the user-level content of the parent image.

The official distribution list for communication about this work is squeak-vmdev.
The self-appointed maintainer for this page and for periodic status reports to the wider community is Dan Ingalls.

64-bit Compatibility

Foremost in the set of "anticipated extensions" is compatibility with 64-bit architectures. This is, or should be, completely orthogonal to all the other changes in Version 4, but it also requires changes to the image format (for instance, 64-bit modulus in Form bitmaps). Plus Dan wants to get it done, so it's a good driving force.
For status see: (obsolete) 64-bit Squeak 2004

Scope

The scope of changes is currently under discussion.
Please refer to (obsolete) Version 4

Process

The process that I propose is roughly as follows. For every change that we have decided on, we will make the corresponding change to the SystemTracer and write a new image. Then we make the corresponding changes to the Simulator and make sure that it runs. Then we emit C code and compile a new VM for at least one MSB and one LSB platform, and make sure that it runs.

While the changes will be cumulative, they always begin with the 3.7b base image. This maximizes the likelihood that, when we are ready to merge with the then-most-current Squeak release, the conversion will work the first time.

As soon as we have incorporated all the agreed-upon changes and everything works, we will prevail upon the guides to synchronize with us in a double release. The first will be a 3.7Nbeta, which is whatever the current release is, plus any fixes we need. The second will be a (hopefully) identical code release in the new format, named 4.0beta.

Task List and status