[Pharo-dev] [ANN] Lowtalk, a new Smalltalk dialect that could eventually replace Slang

Ronie Salgado roniesalg at gmail.com
Wed Aug 30 12:05:48 EDT 2017


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20170830/968b260f/attachment.html>


More information about the Pharo-dev mailing list