Nel linguaggio di programmazione Zig sono state apportate modifiche che consentono al compilatore Zig stage2, scritto in Zig, di compilare se stesso (stage3), rendendo questo linguaggio autosufficiente (self-hosting). Si prevede che questo compilatore sarà offerto di default nella prossima versione 0.10.0. Stage2 è ancora incompleto, poiché manca il supporto per i controlli in fase di esecuzione, ci sono differenze nella semantica del linguaggio, ecc.
La modifica implementata consentirà di aggiungere il supporto per la «sostituzione a caldo» del codice durante l'esecuzione (cioè senza interruzioni, hot code swapping), di ridurre parzialmente il legame con LLVM e C++ (alleggerendo così il processo di portabilità su nuove architetture) e di ridurre drasticamente i tempi di compilazione dei programmi, accelerando allo stesso tempo lo sviluppo del compilatore.
Fonte: opennet.ru
