<feed xmlns='http://www.w3.org/2005/Atom'>
<title>moon/zygotec/src/compiler/types.zc, branch main</title>
<subtitle> work-in-progress programming language.
</subtitle>
<id>https://git.downsta.ir/moon/zygotec/atom?h=main</id>
<link rel='self' href='https://git.downsta.ir/moon/zygotec/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/'/>
<updated>2026-10-15T06:26:19+00:00</updated>
<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>o3: an o3 function called from normal code as a receiver method (run.method) enters and leaves the region and fattens its result, like a direct call; spec 4.10.3, o3_receiver_method_enter.zc</title>
<updated>2026-10-14T23:12:53+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T23:12:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=1aa0215b6e3139c6f1ea49e9a9b1266f5850b51b'/>
<id>urn:sha1:1aa0215b6e3139c6f1ea49e9a9b1266f5850b51b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bounds checking: port agent/bounds-checking onto main 0879d0a; unbounded main in o3call, o3 tests expect no check, boundsrules, bounds_fixed, bounds_heap and zc0unbounded tests</title>
<updated>2026-10-14T12:28:58+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T12:28:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=d55b5fdf92a674a6495878f97a09e95bafdcba3f'/>
<id>urn:sha1:d55b5fdf92a674a6495878f97a09e95bafdcba3f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix std hover, full capture terminator, bare static calls, void main in run-only images</title>
<updated>2026-10-14T10:38:17+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T10:38:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=93340f97dce404a008f489729df144ace53528ab'/>
<id>urn:sha1:93340f97dce404a008f489729df144ace53528ab</id>
<content type='text'>
- hover: a symbol from an embedded library source (tinyvm:std.zc, tinyvm:icon.zc) was
  looked up only in the document; look it up by its qualified name in the library source
  (hover_embedded_sym), and render a method found that way by its line (bs_hover).
- std.capture: allocate one word more than the 256 it holds, so end() terminates inside the buffer.
- a bare call to a static function of the enclosing struct resolves like a bare struct constant
  (mstruct is set for every non-generic struct's methods); the struct's own wins over a global.
- run.zc declares main untyped (fn main();), so a run-only image accepts int, void or untyped main
  with both compilers.
</content>
</entry>
<entry>
<title>split compiler.zc into files by phase</title>
<updated>2026-10-14T10:05:40+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T10:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=ce920b6ff47f32bc06dd27124e1b882f82f3d6ae'/>
<id>urn:sha1:ce920b6ff47f32bc06dd27124e1b882f82f3d6ae</id>
<content type='text'>
src/compiler/compiler.zc is now twelve files under src/compiler/, listed in
order in src/compiler/parts. cat of the parts in order is byte-identical to
the old file, so every compiler and image except the language server's is
unchanged. no function was edited.

consumers read the list: the makefile, bootstrap-check, genmap (which still
writes one compiler.zc into a generated map directory), tinyvm.bat,
test.sh, test_win.ps1 and the lsp drivers. the language server embeds each
part and serves them joined as the one document tinyvm:/compiler.zc.
</content>
</entry>
</feed>
