Hello Ronie,
I think this looks very interesting. I just downloaded your paper to
read. I look forward to seeing the video of your ESUG demonstration.
What do you believe the best mailing list to list ask questions at some
point in the future?
Thanks again for your work on this interesting project.
Jimmie
On 08/30/2017 11:05 AM, Ronie Salgado wrote:
Hi All,
I am finally glad to announce an initial version of my secret
experiment, Lowtalk: https://github.com/ronsaldo/lowtalk
Lowtalk is a new Smalltalk dialect that generates relocatable binary
object code, that can be linked with any C program or used to generate a
standalone executable with the C linker. I am designing Lowtalk as a
language for video game developing, where performance and
multi-threading support is important. The Lowtalk compiler is completely
written in Pharo.
The main features of Lowtalk are the following:
- The compiler is actually a meta circular evaluator, whose features are
used for bootstraping the Lowtalk kernel.
- The Lowtalk object model, including the layout of the objects is
defined in the language itself.
- Direct interface with C. There is an almost 1:1 mapping between the
Lowtalk native types and the C types. There is a syntax extension for
calling C functions.
-Support for real multi-threading.
- The current object model uses automatic reference counting, which is
slow, but makes supporting real multi-threading easier.
- Immediates are based on the Spur object model.
- Partial support for generating debugging information in the DWARF
standard. It is possible to place breakpoints and get correct stack
traces with gdb.
Lowtalk is on the line of my work with Lowcode, and I am planning on
making a Lowtalk backend that uses Lowcode. The Lowtalk type system is
almost the same as the one that I described at the paper: Lowcode:
Extending Pharo with C Types to Improve Performance
I will make a video later, and a proper demonstration at ESUG.
Best regards,
Ronie