ref: 7dccbd7d9dc502f2cd859c4c7ebd84a0d8f3acd7 zyg/README.md -rw-r--r-- 1.3 KiB
7dccbd7dNoam Preil merge 3 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