Re: [ANN] Lowtalk, a new Smalltalk dialect that could eventually replace Slang

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Lowtalk, a new Smalltalk dialect that could eventually replace Slang

abergel
This is great!

Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



On Aug 30, 2017, at 1:05 PM, Ronie Salgado <[hidden email]> 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