Hello Guix, Today I successfully built guix-daemon using Zig build system [1]. This show the possibility of rewriting part of (or entire) gux-daemon in Zig. Zig can work as a C compiler. Although currently this function depends on clang and LLVM, Zig has planed to remove these dependencies [2].
But why Zig? As for me, Zig shows a possibitily to get rid of current toolchain. Even though C is not a bad language (I think C is good enough!), nowadays GCC is written in C++ which is a monster. Zig has lots of improvements comparing with C but it is still a elegant language. Zig can easily call and be call by C/C++, which means I can gradually apply Zig in a C/C++ project. The Zig build system is another thing that attracts me [3]. The script of this build system is written in Zig itself! I don’t need to spend time to learn a language only for a build system. I can use the standard library, define and call functions easily because the script just a normal programming langauge. Why not Guile? I don’t want to rewrite guix-daemon totally. I plan to reduce the code size of libstore. I think it will also benefits guile-daemon [4]. Zig, its build system and standard library is suitable for this task. How long do you expect it to take to complete your project? Unfortunately I've had some health issues lately and it could be months before I get started. Nonetheless I've made a great start [1]. [1] https://codeberg.org/congcongkuo/guix-daemon-zig/src/branch/main [2] https://github.com/ziglang/zig/issues/16270 [3] https://ziglang.org/learn/build-system/ [4] https://guix.gnu.org/en/blog/2023/a-build-daemon-in-guile/ Regards, Kuo