v5.8.0 — Nyx C language runtime
🌙 Nyx C — first native programming language on NyxOS
v5.8.0 introduces Nyx C, a Go/Zig-inspired typed subset of C that transpiles to C and links against the nyxrt runtime. The first .nyx program — hello.nyx — writes to the terminal using string interpolation and direct syscalls.
What's new
- Nyx C runtime (
user/nyxrt.h,user/nyxrt.c):nyx_str,nyx_slice,nyx_resulttypes, fixed-width integers__nyx_syscall6for ring-3 syscalls- String interpolation:
__nyx_fmt_begin/_str/_i64
- First
.nyxprogram:user/hello.nyxwithwrite()andgetpid() - Build system:
NYXCFLAGSrule inkernel/makefile,hello_nyx.elflinked with crt0+nyxrt, embedded in initramfs - Version bump:
v5.7.25→v5.8.0
Verified
nyx:/$ exec /hello_nyx.elf
hola desde nyx c! pid=5
nyx:/$
Files included
| File | Description |
|---|---|
user/nyxrt.h |
Runtime header — types, syscall ABI, format helpers |
user/nyxrt.c |
Runtime implementation — append with NUL, i64-to-string |
user/hello.nyx |
Nyx C source code |
user/hello_nyx.c |
C transpilation output from nyxc |
kernel/makefile |
Build rules (NYXCFLAGS, nyxrt.o/hello_nyx.o targets) |
kernel/initramfs_data.h |
Initramfs regenerated with hello_nyx.elf |
Commits
330e497— i18n: AGENTS.md + hello.nyx + hello_nyx.c English-only commentsb390f5f— Website & README: Nyx C badge, v5.8.0 timeline update42e6e63— v5.8.0: Nyx C language runtime - first .nyx program on NyxOS7e853bc— Nyx C runtime + first hello_nyx.elf on NyxOS