Skip to content

stdlib: 新增 kvlang/reflect,networld 下沉 edit/shell/python(Part of #170) - #344

Merged
miaobyte merged 5 commits into
masterfrom
feat/reflect-and-networld-tools
Sep 15, 2026
Merged

miaobyte merged 5 commits into
masterfrom
feat/reflect-and-networld-tools

Conversation

@miaobyte

Copy link
Copy Markdown
Contributor

变更

把「agent 工具」这类能力从上层项目(byteseek)下沉到语言 stdlib

1. stdlib/kvlang/reflect(新)—— kvlang 自省

fnlist(name) 枚举 /lib/<name> 下的能力名。分类看 xvalue 的 langtype(三轴正交 ref/storetype/langtype),不靠名字猜——用 xv·parselangtype 拿基名(剥 [dims]def 前缀)。

2. stdlib/networld 拆分 + 下沉

职责
networld/fs 字节与只读检索(size/read/write/readtext/writetext/match/glob/scan/grep)
networld/edit(新) 改写语义(read 行号窗口视图 / write 覆盖写…)
networld/shell(新) 跑 shell 取 stdout(建在 networld/proc·exec 上)
networld/python(新) python3 -c 取 stdout(同上)

3. runtime 配套

  • rwir_xvalue.cxv_write_slot —— 写第 i 个写参槽(原 kvlangBuiltinWriteResult 只写 writes[0]),支撑多输出
  • runtime-rs 注册 networld/fs·renamenetworld/fs·isutf8
  • rwir_string / rwir_vthread / myrwircaps / rwir_internal.h 配套

4. tutorial

新增 13-stdlib/kvlang/01-reflect13-stdlib/string/08-lang14-networld/{12-edit,13-shell,14-python}07-lib/walk_lib14-networld/11-fs-text 跟随调整。

配套:byteseek 删掉自己的 python.kv/shell.kv、改用这些 stdlib 库(array2d/byteseek#74)。

Part of #170

🤖 Generated with Claude Code

miaobyte and others added 5 commits September 15, 2026 09:39
把「agent 工具」这类能力从上层项目下沉到语言 stdlib:

- **kvlang/reflect**(新):kvlang 自省。fnlist(name) 枚举 /lib/<name> 下的
  能力名;分类看 xvalue 的 langtype(三轴正交 ref/storetype/langtype),
  不靠名字猜——用 xv·parselangtype 拿基名(剥 [dims] 与 "def ")。
- **networld/edit**(新):文件改写语义(read 行号窗口视图 / write 覆盖写…),
  与 fs 分工——fs 管字节与只读检索,edit 管改写。
- **networld/shell、networld/python**(新):跑 shell / python3 取 stdout,
  实现在 networld/proc·exec 之上。
- **networld/fs**:改写的部分移出(→ edit),只留字节与只读检索。
- string.kv / kvlangbrief:配套补充。

Part of #170

Co-Authored-By: Claude Code <noreply@anthropic.com>
- rwir_xvalue.c:新增 xv_write_slot——写第 i 个写参槽(原
  kvlangBuiltinWriteResult 只写 writes[0]),支撑多输出。
- runtime-rs:注册 networld/fs·rename、networld/fs·isutf8 两个 rwir。
- rwir_string / rwir_vthread / myrwircaps / rwir_internal.h:配套调整。

Part of #170

Co-Authored-By: Claude Code <noreply@anthropic.com>
- 新增 13-stdlib/kvlang/(reflect)、13-stdlib/string/08-lang、
  14-networld/{12-edit,13-shell,14-python}
- 07-lib/walk_lib、14-networld/11-fs-text 跟随调整

Part of #170

Co-Authored-By: Claude Code <noreply@anthropic.com>
fnlist 是客观自省:只跳过 def langtype(形参 / 返回槽),def rwir、普通
常量与 init 入口都保留。原期望漏了 init(每个 lib 都有),导致 shm/fs
两个 job 各 FAIL:1。本地复跑 PASS。

Co-Authored-By: Claude Code <noreply@anthropic.com>
值与同名目录可以共存(kvspace/tutorial-durable/10-dir-file-coexist.sh),
此时列举会同时给出裸名 X 与目录名 X/(或 X·)—— 它们是两个实体,
**后端不去重**(fs 发两条、redis 视场景而定,无统一规则)。

故在 stdlib 收口:新增 kvspace·members(path) -> (names, n),裸名后面
紧跟同名 X/(X·)时只保留带目录标记的那条(名字取 X/)。需要「这层
有哪些名字」的自省/遍历类调用方一律用它:

- reflect·fnlist 改走 members(不再自己猜孪生)
- walk_lib 同上(移除本地的去重猜测)
- 01-reflect 期望随之调整

Co-Authored-By: Claude Code <noreply@anthropic.com>
@miaobyte
miaobyte merged commit b9cfdc2 into master Sep 15, 2026
4 of 6 checks passed
@miaobyte
miaobyte deleted the feat/reflect-and-networld-tools branch September 15, 2026 06:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant