<feed xmlns='http://www.w3.org/2005/Atom'>
<title>moon/zygotec/src/compiler/decl.zc, 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>merge work/demo-fixes: analyzer ownership fixes (back links, loop-built lists, .u inference), Io.print any args, block-end borrow messages</title>
<updated>2026-10-15T14:20:10+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-15T14:20:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=251b0212f626d0f92eda51906d353712ef4a63b8'/>
<id>urn:sha1:251b0212f626d0f92eda51906d353712ef4a63b8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hold: copy hold.h with micro.c everywhere; xref baseline for hold globals; lsp keyword completion yields to a same-named symbol; compiler message avoids the word actor</title>
<updated>2026-10-15T11:55:23+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-15T11:55:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=b6af0e942dcde433db96a298a25490aa44e88173'/>
<id>urn:sha1:b6af0e942dcde433db96a298a25490aa44e88173</id>
<content type='text'>
</content>
</entry>
<entry>
<title>prescan: guess an owned return only from a local declared from new/heap, not a global assigned one (fixes lsp self-check); xref baseline for the new writers</title>
<updated>2026-10-15T11:49:17+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-15T11:49:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=d36190a5f3b8fa33fe3381771cd1efb9a1335e50'/>
<id>urn:sha1:d36190a5f3b8fa33fe3381771cd1efb9a1335e50</id>
<content type='text'>
</content>
</entry>
<entry>
<title>analyzer: a .u (declared or inferred) function can't return a borrowed parameter or a value derived from one; fixtures</title>
<updated>2026-10-15T11:31:29+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-15T11:31:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=5aaf70abdda0026a7b4d647746a109d94b25f7a0'/>
<id>urn:sha1:5aaf70abdda0026a7b4d647746a109d94b25f7a0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>analyzer: infer .u from returns of fresh objects in the body (prescan guess, then checked as .u)</title>
<updated>2026-10-15T11:28:36+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-15T11:28:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=2b9e79db9e1f4d1f74c6ca99c794ba4886e9f003'/>
<id>urn:sha1:2b9e79db9e1f4d1f74c6ca99c794ba4886e9f003</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hold blocks: top-level hold { shared let ...; fn ... } monitors; shared values kept by the host and copied in/out at the outermost call, reentrant per-block locks in declaration order (core, micro)</title>
<updated>2026-10-15T11:02:10+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-15T11:02:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=253ac862c696d73fb17c14a847270b6e08aa8769'/>
<id>urn:sha1:253ac862c696d73fb17c14a847270b6e08aa8769</id>
<content type='text'>
</content>
</entry>
<entry>
<title>analyzer: check borrow returns of forward-called functions at the unit's end; borrows clause for prototypes, definitions, externs and function types, checked against the body</title>
<updated>2026-10-15T06:26:19+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-15T06:26:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=6bbac2edf7c50dac4d755a364b6dfd16471284d7'/>
<id>urn:sha1:6bbac2edf7c50dac4d755a364b6dfd16471284d7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fndef: b.2.13 unnamed prototype parameters in fewer ops (402197 -&gt; 402112 words, same behaviour)</title>
<updated>2026-10-14T17:45:16+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T16:16:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=2a5c19fbfcb8f62173160758d9b4965a35db3f50'/>
<id>urn:sha1:2a5c19fbfcb8f62173160758d9b4965a35db3f50</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bounds: body scan, loop-entry hoisting, pointer proofs from requested size, --explain-checks v1 (non-o3 code)</title>
<updated>2026-10-14T16:33:38+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T14:52:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=459b7661aaa0d65d01be064bd4b9976c4f045a5c'/>
<id>urn:sha1:459b7661aaa0d65d01be064bd4b9976c4f045a5c</id>
<content type='text'>
</content>
</entry>
</feed>
