ref: a5c2d48fcc5c0a0d5a4e8be9ec02dda5e35d7028 zyg/README.md -rw-r--r-- 1.3 KiB
a5c2d48fNoam Preil merge 11 months ago


Zig Tricarbonate compiler.


Currently in alpha status. Unless you're interested in helping out, there's not much to see here right now.

The analysis pipeline rework was just completed (5/10/21). Currently working on integration with scas for assembly, and the zyg test driver, so that we can start getting upstream behavior tests passing.


  • Simple compiler
    • No LLVM
    • Incremental compilation via object file cache
  • Fast
    • Optional multiprocessing, one process per input file
      • No shared address space, and no dependencies, so no data races
    • Fast to compile
      • Five seconds on Linux on the PineBook Pro
      • Two seconds on Plan 9 on the RPi 3 with two of the four cores disabled
  • Full conformance
    • No features not present in the zig language will be supported
    • Some features may be left unimplemented if they aren't desired - but those features which are supported will conform 100%
  • Possibly become the zig bootstrap compiler
  • Optimizing
    • Simple optimizations such as CSE and inlining
      • callconv(.Inline) is already supported, deciding to inline unmarked functions is not yet
    • Prioritize lightning-fast compilation over marginal runtime improvements