Skip to content

v5.8.0 — Nyx C language runtime

Choose a tag to compare

@kazah-png kazah-png released this 06 Jul 04:53
· 974 commits to master since this release

🌙 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_result types, fixed-width integers
    • __nyx_syscall6 for ring-3 syscalls
    • String interpolation: __nyx_fmt_begin / _str / _i64
  • First .nyx program: user/hello.nyx with write() and getpid()
  • Build system: NYXCFLAGS rule in kernel/makefile, hello_nyx.elf linked with crt0+nyxrt, embedded in initramfs
  • Version bump: v5.7.25v5.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 comments
  • b390f5f — Website & README: Nyx C badge, v5.8.0 timeline update
  • 42e6e63 — v5.8.0: Nyx C language runtime - first .nyx program on NyxOS
  • 7e853bc — Nyx C runtime + first hello_nyx.elf on NyxOS