Great Work..!!

On Mon, May 15, 2017 at 1:01 PM, Zak Fenton <[email protected]> wrote:

> Hi folks. I posted earlier in squeak-dev about a Smalltalk implementation
> I've been working on. The first post was a bit unwieldy, but there was at
> least some interest so I'm posting an update to vm-dev and pharo-dev.
>
>
> Main strong points are that it's embeddable (like Lua or SQLite) and
> scalable (like Erlang). There are weak points too, of course (e.g. hot loop
> performance will be much worse than Squeak/Pharo at this point).
>
>
> The VM itself is pure C and has no dependencies apart from libc and libm.
> It doesn't require a filesystem (you can pipe VM images through custom
> stream implementations or arrays) and it should run well in tight (~1MB)
> memory situations.
>
>
> The extension system is similar to the Unix system call and virtual
> filesystem APIs, so it's kind-of object oriented but in a very "C" way. All
> extension resources are managed properly (so the system can clean up safely
> and/or warn you if you allocate memory and don't deallocate it, for
> example).
>
>
> Extensions are available for cells (threads/individual VMs), shared memory
> (so different cells can communicate efficiently - but also with memory
> protection and calling features for implementing domain-specific JIT
> compilers), windowing and event handling (based on SDL2) and 2D graphics
> rendering (based on Cairo). There are some higher-level libraries (stylable
> GUI system, tight OS integration, 3D modelling, etc.).
>
>
> It's polished in some ways (there's a test suite, an integrated help
> system, colour shell, etc.), but it needs a lot more refinement in others
> (the current GUI style is terrible, it needs more documentation, there's
> only minimal support for keyboard entry, no networking library, etc.).
>
>
> I'd like to release it (ideally as 100% public domain/CC0), but I don't
> want to do so without some way of funding development. The project promises
> a lot and I want to actually deliver with some ongoing updates and support
> (and being able to pay rent next week would also be a plus), so I'm not
> interested in just dumping it on GitHub and calling it a day.
>
>
> So I'm open to any suggestions as to how to fund this project at least in
> the short term and how it might fit into the wider Squeak/Pharo/Smalltalk
> ecosystems, as well as any technical criticism relating to the
> implementation itself.
>
>
> I've put together a basic website describing the implementation in a bit
> more detail (sorry, no downloads yet): http://a4vm.info/
>
>
> -Zak.
>

Reply via email to