This sections contains my sometimes sundry about Haver’s future.
App Image Creation¶
Single File Application Deployment¶
Only use internal plugins. Modify the display and audio-plugins and the VM’s C code in a way that does not need to be compiled as shared objects or dynamic link libraries.
Modify the image loading code in a way, that image can be appended to virtual machine’s executable.
Additional files, like font or icon-files, can either be incorporated into the image or stored in a ZIP-file that is also append to the image.
The memory layout is roughly like this:
+----------------+ | Executable | | . . . . . . . | | ZIP | | . . . . . . . |<--+ | Image | | | . . . . . | | | Poiner to | | | Image Start |---+ +----------------+
To my understanding ZIP-files are parsed by searching for their central directory, which points to single compressed files. Any cruft should be ignored.
On the other hand, we also can devise a simple linked list format of our own:
+----------------+ | Executable | | . . . . . . . | | nil | | . . . . . | | Resource N |<-+ | . . . . . . . | | : . . : . . : . . : : | . . . . . . . | | | PTR to R 2 |--+ | . . . . . | | Resource 1 |<-| | . . . . . . . | | | PTR to R 1 |--+ | . . . . . | | Image |<-+ | . . . . . . . | | | PTR to Image |--+ +----------------+
Application and Package Distribution¶
An AppStore like application distribution application should also be very useful. Obviously there have been such ideas around for squeak.
I like to call this “App Store”
I should have the following features:
Really Far Reaching Ideas¶
All of these ideas need quite a bunch of developers and of course serious funding.
With the help of parso it should be easy to create an abstract syntax-tree for Python code with Haver and compile it to byte code. This can be bootstrapped by inter-process communication between a Python interpreter running parso and a Haver image. Of course this will need a Python run-time-system implemented in Smalltalk, which is a lot of work, but doable.
I will enable Haver to use the huge amount of Python software. Combined with Smalltalk’s fix and continue capability it would make a great Python IDE.
Implement a Sista Aware Compiler¶
Implement a new compiler that uses SSA throughout and targets the sista version of the opensmalltalkvm.
I am aware this will not be usable behind the firewall of a big organisation, but that is not the target audience.