<feed xmlns='http://www.w3.org/2005/Atom'>
<title>moon/zygotec/tests/icon/regression, 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-15T02:45:36+00:00</updated>
<entry>
<title>find_replace: cover o3 function prologues on every backend</title>
<updated>2026-10-15T02:45:36+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-15T02:45:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=1db57f77e9c627bc9c00f9e2f827aa72b425b739'/>
<id>urn:sha1:1db57f77e9c627bc9c00f9e2f827aa72b425b739</id>
<content type='text'>
arm64, llvm and the region-interpreter rdrop path now watch the two
prologue words the way the x86-64 jit already did, so icon.replace_function's
lit+jmp patch retires a compiled callee (and clears fn_nat) instead of leaving
a stale stub. three new icon regressions: repeated o3 replace, failed
publication keeps the old entry, and a direct call after warming the region.
</content>
</entry>
<entry>
<title>todo: callee generation guard for direct o3 calls, region 474..692 and fib diagnosis; icon test with an o3 caller across find_replace</title>
<updated>2026-10-14T16:34:08+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T15:13:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=4c2c7ad06a1132900bf0994a5d8ce492e7f6ae3e'/>
<id>urn:sha1:4c2c7ad06a1132900bf0994a5d8ce492e7f6ae3e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: grow memory limits, add icon/actor libraries, overhaul LSP diagnostics</title>
<updated>2026-10-14T04:59:46+00:00</updated>
<author>
<name>Moon Flower</name>
<email>moonflower@elhenney.local</email>
</author>
<published>2026-10-14T04:59:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=1c53304d03414890af0da7432d1aea87e754a14a'/>
<id>urn:sha1:1c53304d03414890af0da7432d1aea87e754a14a</id>
<content type='text'>
Compiler and VM
- make every memory map limit dynamic and adjustable at both build time and
  runtime, including compiler tables, stacks, and every execution region
- reserve and grow tables, operand and return stacks, frame segments, and
  image-building output without relocating live code or globals
- rename i/o and string helpers consistently (puts -&gt; put_s, putn -&gt; put_n,
  scat -&gt; cat_s) across compiler, runtime, examples, tests, and docs
- recast and consume values assigned to globals from inside functions
- allow fixed and const together, add typed closure returns (fn:t(...)),
  multi-include syntax (include rt, run, core;), and recurse type inference
- never infer string literals as word, anywhere, as argument, variable, or
  return type
- draft docs/BORROW.md: a borrow checker less intrusive than Rust's but more
  intelligent

LSP and editor integration
- require explicit includes and give every toolchain area its own namespace
  (rt, lsp, run, core)
- hover for built-in types, inferred types, values known at hover time, array
  and pointer lifetime/size, library names in include statements, and inferred
  lifetimes with explanations
- honor /* */ comments as documentation for variables and arguments, and stop
  misattributing section headers or trailing comments as variable hints
- stream diagnostics and cancel stale requests on change
- jump to definition and references, including cross-file
- quick fixes with automatic library import, and namespace completion

Hints and diagnostics
- render hints as blue squigglies by default, with hints on/small/off per file
- suppress magic-number hints via a preceding /* */ comment, and say so
- warn on unused arguments; allow multiple _ discards in parameters, pattern
  matching, and tagged enums, warning if a _ is actually used
- rewrite hint and comment prose in professional compiler-doc register

Libraries
- add icon.zc: run-time self-modification, find/replace syntax, type and block
  edits, and step-through inspection of locals and globals
- add actor.zc: async actors with Actor&lt;I,O&gt;, implicit this, spawn/recv/send,
  injected into the compiler machinery at include time rather than built in

Tooling and docs
- reorganize sources, tests, and designs into subdirectories
- unify windows entry points in tinyvm.bat and add a matching tinyvm.sh
- add --help across the toolchain
- polish the learning guide, stdlib docs, and design notes

Tests
- add accept, reject, and regression coverage across the compiler, LSP,
- runtime, icon, actors, threads, formatting, and the toolchain contracts,
  plus fuzzers and property tests
</content>
</entry>
</feed>
