pharoRaylib
RoarVM
pharoRaylib | RoarVM | |
---|---|---|
1 | 4 | |
8 | 237 | |
- | - | |
3.2 | 0.0 | |
almost 3 years ago | almost 11 years ago | |
Smalltalk | C | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pharoRaylib
-
On Learning Smalltalk
I started working on a raylib binding for pharo using pharo's ffi...I have to say pharo's ffi system is very easy to use. It works and I got a few demos working, but I haven't put in the function calls for most of raylib. https://github.com/Zenchess/pharoRaylib
There's also native pharo smalltalk stuff like athens, woden, and maybe others...
RoarVM
-
Smalltalk: An Entrepreneur’s Secret Weapon
You sound like talking about https://github.com/smarr/RoarVM
RoarVM, formerly known as the Renaissance Virtual Machine (RVM) is developed as part of a IBM Research project to investigate programming paradigms and languages for manycore systems of the future. Specifically, this VM is meant to support manycore systems with more than 1000 cores in the future.
-
Smalltalk-80 on Raspberry Pi: A Bare Metal Implementation
I wanted to keep the system as close to the original as possible, but some extensions such as increasing the available memory space and screen resolution would be nice even for the original system. It would also be interesting to implement the early ideas for a JIT compiler.
Starting with Squeak is probably the easier way if you want advanced features such as color or network connectivity - still, there might be some interesting ideas to improve the system. One idea I had was to accelerate the bitblit functions using the Raspberry Pi's GPU. Currently, crosstalk uses a simple framebuffer and the runtime has to convert all monochrome bitblit operations into color ones since the Raspberry GPU doesn't have a 1bpp mode.
Support for multiple cores (available in all but the most simple Raspberry Pis) would also be nice. Here, the Roar system (https://github.com/smarr/RoarVM) might be an interesting starting point.
Let's see if I can find some students who want to work on some of these tasks... but my students are nowadays rather interested in Rust and RISC V :) (though a port of crosstalk to the Allwinner D1/Nezha and related boards and JH7110/Vision Five 2 is on my to-do list).
-
On Learning Smalltalk
The 2008 RoarVM project allowed Squeak to run on a 56 core Tilera chip and was later ported to run on multiprocessor x86 machines:
https://stefan-marr.de/renaissance/
https://github.com/smarr/RoarVM
This was a research project so performance on a single core was poor compared to the official Squeak virtual machine, but it was an interesting exploration of the natural fit between objects/message passing and multiple cores.
- RoarVM – The Manycore SqueakVM
What are some alternatives?
crosstalk - Smalltalk-80 bare metal implementation for the Raspberry Pi
RaspberrySqueak - Bare metal Squeak for Raspberry Pi
Spec-Gtk - Spec GTK bindings for Pharo
P3 - A lean and mean PostgreSQL client for Pharo
squeaker - Like Docker, but for Squeak. You know, for kids.
taskit - TaskIt is a library that ease Process usage in Pharo. It provides abstractions to execute and synchronize concurrent tasks, and several pre-built mechanisms that are useful for many application developers.