Hello!I'm interested *how difficult it could be to create a viable smalltalk
VM (squeak)* to be run onHaiku. I've realized that there was a version for
BeOS once but I checked (also with the maintainer) and it seems to be
stopped.I wonder what I need to cimpile a current version andbind to haiku
(BeOS) infrastructure (net - graphics - audio).I used to build software on
linux for myself with minor changes or configuration only, howeverI'm
curious...
--
Sent from: http://forum.world.st/Smalltalk-VM-Beginners-f3068605.html
Hi,
I have a bunch of "beginner"(?) questions:
1. How to ensure that my local "stable" build from "stable"
sources corresponds to the "stable" vm binary published
on squeak.org? For example some time ago I build from the
stable tag 201807260206 (= commit
d1f3fb1c76ad72155d3becc8f9bed7d70e9485a9) which resulted in a
VM which somehow had some weird and hard to understand issues
with numbers corresponding in blaming the running smalltalk
implementation in my case cuis:
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/issues/145
2. How to build the VM for a platform which has the dietlibc or a
different implementation of the standard C library?
I once tried to build it on alpine linux so to get
a minimal and small baseimage of it running to be able to use
it in within Docker containers without waiting 30 minutes for
the build, because of added sizes and complexities when relying
on a more "standard" base linux system (*cough* ubuntu *cough*).
3. What is now the supposed "best practice" of adding functionality
to squeak? Say I want to add to it support for password hashing
using libsodium and the library blocks the VM when trying
to do more elaborate calls, so an async call would be much less
of a pain from the user perspective. So async calling in a
FFI library of that code or moving that into a VM plugin so
it's much wider supported?
4. How to specialized VMs for special use cases? Like for example
I would want to build the VM for some architectures where there
is no binary around and which don't like or support any JIT
implementation. How do I correctly select the VM, configure and
build it and also can ensure that it works?
That's probably already too much to be answered in one mail.
Thanks,
Philip