<feed xmlns='http://www.w3.org/2005/Atom'>
<title>moon/zygotec/src/tools/zc0.c, branch work/uninit-locals</title>
<subtitle> work-in-progress programming language.
</subtitle>
<id>https://git.downsta.ir/moon/zygotec/atom?h=work%2Funinit-locals</id>
<link rel='self' href='https://git.downsta.ir/moon/zygotec/atom?h=work%2Funinit-locals'/>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/'/>
<updated>2026-10-15T18:45:38+00:00</updated>
<entry>
<title>definite assignment: reading a local before it is initialized is a compile error (spec 4.1.5, b.1.9)</title>
<updated>2026-10-15T18:45:38+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-15T18:45:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=be43babc1886fc5efee898b2a3d0285012e511fb'/>
<id>urn:sha1:be43babc1886fc5efee898b2a3d0285012e511fb</id>
<content type='text'>
track linited per local alongside the ownership state; snapshots, exit records and joins carry it, and a join keeps a local set only when every reaching path set it. x = e, a declaration initializer, &amp;x (out-parameter), a full array initializer, or using an aggregate as an address set a local; field and element writes do not set the aggregate. while/for bodies that may run zero times do not count; do/while does. compiler, runtime, std, actor and lsp sources initialize the locals the rule flagged; zc0 accepts = {} brace lists (zeroed). tests: tests/errors/uninit_*.zc, tests/conformance/4-statements/uninit_*.zc
</content>
</entry>
<entry>
<title>constant expressions: c precedence and / % ^ (b.1.3); local const usable in constant expressions (b.1.7, b.2.16); zc0 matches</title>
<updated>2026-10-15T14:55:36+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-15T14:55:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=08173d7f88f8551caca81594ed8af79d82d3f71f'/>
<id>urn:sha1:08173d7f88f8551caca81594ed8af79d82d3f71f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>zc0: a store into a local embed array is an error (its elements are in the code); test in tests/test.sh</title>
<updated>2026-10-14T13:10:29+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T13:10:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=353e31c2648cc4248108091b29f97b9aa3204cba'/>
<id>urn:sha1:353e31c2648cc4248108091b29f97b9aa3204cba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>zc0: free the saved token when the local-embed lookahead returns early</title>
<updated>2026-10-14T13:09:17+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T13:09:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=d7cbb2cdc3436f2407365c57f31f29631441bab4'/>
<id>urn:sha1:d7cbb2cdc3436f2407365c57f31f29631441bab4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>zc0: u*x, m*x, d*x are products when u, m or d is a visible local or global (spec 1.6.3); redone from zc-spec's 2f2597b</title>
<updated>2026-10-14T13:06:49+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T13:06:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=31e81b5a22becfdc7c5688171643c473372024b1'/>
<id>urn:sha1:31e81b5a22becfdc7c5688171643c473372024b1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'main' into work/xref</title>
<updated>2026-10-14T12:55:05+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T12:55:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=8a7092df7b7fc8a5eb4f02ef14588246bd111daf'/>
<id>urn:sha1:8a7092df7b7fc8a5eb4f02ef14588246bd111daf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>zc0: integer literals as the compiler reads them (010 is 10, 0x is 0, values wrap modulo 2^64)</title>
<updated>2026-10-14T12:49:20+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T12:49:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=9c163931d6e9ed5d3770b2313b4775a2d189964f'/>
<id>urn:sha1:9c163931d6e9ed5d3770b2313b4775a2d189964f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>zc0: embed of an array type inside a function</title>
<updated>2026-10-14T12:46:59+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T12:46:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=b92c7fe87239279646fcbef493cf628d260f51ff'/>
<id>urn:sha1:b92c7fe87239279646fcbef493cf628d260f51ff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>zc0: x as T reads a whole type (x as int*, x as char**)</title>
<updated>2026-10-14T12:45:52+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T12:45:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=79de454a7df8bd2862d32835db89ed06de8e7b33'/>
<id>urn:sha1:79de454a7df8bd2862d32835db89ed06de8e7b33</id>
<content type='text'>
</content>
</entry>
<entry>
<title>zc0: reject .u on a typed parameter with the compiler's message</title>
<updated>2026-10-14T12:44:01+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T12:44:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=45b53ef93135b240989d88b065f7ee7f12a95bfb'/>
<id>urn:sha1:45b53ef93135b240989d88b065f7ee7f12a95bfb</id>
<content type='text'>
</content>
</entry>
</feed>
