On Thu, 9 Jan 2020 at 12:00, Ronie Salgado <ronies...@gmail.com> wrote:

> Hi All,
>
> I am finally announcing an initial release of my new experimental
> low-level programming language which I am calling Sysmel (For SYStem
> MEtaprogramming Language).
>
> GitHub Page: https://github.com/ronsaldo/sysmel
> Short native game demo: https://www.youtube.com/watch?v=tRoPMbPvqH0
>
> Sysmel is designed to be a flexible language, and a flexible compiler
> front-end. The support for garbage collection in Sysmel is an optional
> feature by design, and the support for dynamic objects and dynamic message
> lookup it is also optional. If garbage collection is disabled, the code
> written in Sysmel is mostly equivalent to C/C++ code (only single
> inheritance is supported for now), but with a hybrid syntax between
> Smalltalk and C++.
>
> For the final code generation I am using my custom SSA intermediate
> representation (the same one that I used in Lowtalk, and in) which it is
> currently tested with the following two backends:
> - LLVM textual IR backend. This is used for generating native object files
> by reusing the LLVM infrastructure. This backend also supports emitting
> DWARF debugging information so the resulting programs can be debugged with
> gdb.
> - Spir-V backend, for generating shaders for Vulkan and executing them in
> the GPU.
>
> I am also re-implementing my previous experiment for converting Pharo
> block closures into shaders by reusing the Sysmel intermediate level AST,
> and its type inference machinery.
>

Side note, for academics needing interesting final projects for students,
one would be have this infrastructure for Pharo blocks
generate/load code for the Programmable Real-time Units on a Beaglebone -
useful for a dynamically programmable hard-real-time system for robotics.
https://www.ti.com/lit/ug/tidu461/tidu461.pdf
https://www.youtube.com/watch?v=B1DssoXzUXw
https://www.youtube.com/results?search_query=beagleboard+pru

cheers -ben

Reply via email to