I am not quite awake yet to completely summarize the sprint, but some of the things we managed to do are:
- Define a simple representation of the Smalltalk object model in Python
- implement the bytecode dispatcher and all the Squeak bytecodes
- implement helper functionality for defining primitives in Python
- implement many of the essential primitives
- implement an image loader that can load Squeak images
- translate all of the above to C (or .NET, or Java, for that matter)
We managed to load the Squeak mini-image and successfully run the tiny benchmark at around a tenth of the speed of Squeak.
The area where the most work is left is obviously the primitives. We haven't even started on the graphical primitives yet and there cannot really start an image (just load it and call selected methods on some functions from the outside). On the other hand, this is all rather straightforward work so it probably won't take too hard thinking to do it. Another big question is image saving where it is unclear whether we should define our own format or try to be able to write Squeak images again.
I will maybe post some more detailed information about what we did during the week, so if you have some specific questions, just ask them. Also, I hope some of the sprinters (including myself) will work a bit more on the project in the next time. We are considering a followup sprint, let's see where that is going.