Just thought to expounds on why I was discussing the Melosynthos in prior post with some contexts:
I have written a GUI Toolkit for Linux that leveraged Vulkan to replace GTK and QT5/6.
I originally wrote it for Crypto-Trading software that can support millisecond-by-millisecond trading and update feeds, it literally have a graph supporting over 1 billion data points without any lag and it become incredibly easy to add any number of indicators to evaluate the graph. So naturally, I was looking to expand the GUI Toolkit I wrote, but as you probably imagine, trying to write code like these:
Get exhausting fast, because literally every single event, property, or method you add to a given class, would need about 50+ lines of code for it. Macro would not solve or alleviate the problem either, because it would only obscure the problem further.
The reasons why I attempted to write it in C is that it needed to be low level, it need to be fast, and it needed to be accessible to ALL programming languages through Foreign Function Interface. I wanted to make sure that no matter what programming language you choose, you could expand the GUI Toolkit by adding your own custom window, GUI control, or whatever.
That what led me to theorizing about extending C Language through dialects where you have an higher level abstracted C language transpile down to raw, but still readable C language code and not only that, but also to generates something like Foreign Function Interface JSON file so that other programming languages could quickly generate binding for the GUI Toolkit library. Hence the Melosynthos project was came up with and reiterated as I work on designing it.
So basically my roadmap is something like this:
- Melosynthos - Compiler Generator
- Machine Learning Shader Language (To replace HLSL/GLSL)
- Create Dialects for C Language aka SpectraC (Object Oriented Programming, Generic, and so forth)
- Rewrite GUI Toolkit in SpectraC
- Potentially Fork X11/XServer as I have gained some experience and understanding on how X11/Wayland compositors work internally.
As you can imagine, a lot of different personal projects, but each can be used to help create the other project.
Here the video demo of GUI Toolkit
My other side project that I am struggling to find time is to write books, particularly on C programming sometime and you can read them here.
The craziest idea for a project by far is probably trying to come up with "X25" as an evolution from X11, instead of XServer being it's own independent process, it would be rewritten as a software library in C so that every window manager/compositor could use the same central implementation and gain all of the feature set that the library offers rather than fragmented ecosystem like Kwin/Gnome/Wlroots. I don't have much confidence with Wayland and it have remained broken for literally decades with a lot of contention between developers on how to best approach each problem in wayland.
Anyway, let me know if you are interested in more discussion on any of the projects above. That pretty much sum up my vision for Linux, rewriting the GUI stack and Window Compositor one day and hopefully re-approach C Programming in general to make it easier, but offers some memory/type safety.