进展
一门语言最怕的是「写着写着没人了」。这一页如实记着:
现在到哪了、最近做了什么、哪些还没做。
测试用例 3839 项(3839 通过),每次改动都要全量回归通过才提交。
0.2.x「架构变革」已收官
这一段做的是把实现整个换掉:前端与宿主从 Python 换到 Rust,
发行物换成一个二进制。到 v0.2.2 全部交付。
发行包
2.91 MB单二进制 · 启动 <100 ms
- 前端整条链换 Rust:源码 → 词法 → 语法 → 字节码,端到端 5.37×,
与 Python 侧逐字节一致(103 个语料 × 四阶段守着)。
- 发行包改成一个 cargo 二进制:从 249 个文件 / 约 20 MB
降到 13 个文件 / 2.91 MB,运行时不依赖 Python。
- 四条路都不再需要 Python:编辑器(LSP / DAP)、AI agent(MCP)、
脚本(CLI)、包管理,全由一个二进制提供。
- 在线试玩改跑 wasm:浏览器里跑的就是上面这份引擎
(同一份 Rust 前端 + 字节码 VM + 原生标准库),不再从 CDN 拉一份 Python。
- Python / Node 两套实现退役:挪到
oracle/,只作
「多执行器逐字节一致」这条纪律的判据基准与参考实现。
每一步的完整记录见 R 线交付记录。
0.2.3:把标准库补厚 + 分发线
架构变革做完不跳号,沿 0.2.x 继续。这一段按真实项目驱动补标准库 ——
拿真程序去跑,撞到「要绕道 / 写不出来」就记一条,按实际缺口补。
- 文本与数据整理:中文对齐改按显示宽度(一个汉字算 2 列),表格终于对得齐;
补
归约 / 分区 / 分组汇总 / 连接。
- 网络与结构化数据:请求头、
提交JSON、获取详情、
下载;html 能取文本 / 链接 / 表格(网页采集不再正则硬挖)。
- 文件批处理与系统:
按模式找 / 递归删除 /
临时目录 / 原子写 / 系统.打开。
- 时间与余项:
日期.加月 / 加年(按日历月)、
加密.HMAC / 口令摘要 / 安全随机字节、单文件 .gz。
- 语言本体的升级 / 卸载:
jishi 升级 一条命令从远端升到最新版
(校验 SHA256、失败可回滚);jishi 卸载 --自身 卸语言本体(要二次确认)。
更早的里程碑(0.1.x 后段)
M45✅
**AI 跑分表**(45 题 × 2 模型,一次通过率 82.2% / 88.6%)+ **MCP 工具面 3 → 7 个** + **三平台 GitHub Releases**
M44✅
**机器可读的语言事实**(错误码 35 条 / 静态检查码 / 等价 Python 写法 83 条)+ **`jishi 源码静态检查`**(零误报)
M43✅
**调试器接进编辑器**(`jishi dap`)+ 语法高亮与片段补齐 + 打包 `.vsix` **上架 Marketplace**
M42✅
**语言服务补六项**(格式化 / 重命名 / 快速修复 / 签名提示 / 工作区符号 / 语义高亮)+ VS Code 扩展升级为语言客户端
M41✅
**标准库第一批 5 模块**(容器/迭代/参数/日志/测试,五路同宽)+ 内建 `带下标`/`配对` + `遍历` 多变量解包 + 错误归类修正(行数比 1.21)
M40✅
C VM 调试器(三执行器会话逐字对拍)+ 「赋值即局部」补齐 + f-string 遮蔽修复 + 五类真实项目(行数比基线 1.27)
M39✅
主线 B5:**字节码执行器的调试器** + 用基石写静态站生成器(三执行器产物逐字节相同)
M38✅
主线 B 收尾:LSP 增量同步 + REPL 增强(历史/Tab 补全/多行)+ 格式化器边界
M0 起逐条的完整明细见
里程碑(0.1.x) 与
里程碑(0.2.x + R 线),
以及 版本历史说明。
还没做 / 做不好的
标准库还不够全。0.2.3 把常用的 25 个模块补厚了一轮(新增 28 个函数),
但还谈不上「应有尽有」:数据库(SQLite)、并发、HTTP 服务端这些新增大类
还没做 —— 它们是 0.2.4 的事,而且要先有真实场景撞出来、量得出收益才做。
生态还小。第三方包管理能用(jishi 安装 基础库),
但仓库里目前只有几个演示包。没有「装个库解决一切」的体验。
有些场景它更慢。C 虚拟机在纯计算场景最快约 40×,但容器密集读的
场景仍慢于 CPython。没测过的东西不写 —— 具体数字都在文档里。
平台。Windows / Linux / macOS 三平台都有发行包(macOS 只有 Apple 芯片);
手机端没做。
接下来想做的
0.2.x 把「实现换完、装得上、跑得起来」这件事结了,0.2.3 又把标准库补厚一轮。
下一步分两段走:
- 继续把标准库补全。按真实项目驱动定范围 —— 拿真实小程序去跑,
看它们缺什么,按实际缺口补。0.2.4 起上新增大类:数据持久化(SQLite)、
并发、HTTP 服务端 —— 都要过准入三关、由真实场景撞出来,量不出收益就如实写「不做」。
- 再往「契合 AI」上深入。语言事实已经机器可读(语言卡 / 结构化报错 /
错误码 / few-shot 示例库)。下一步让大模型更容易一次写对:
语言卡带签名 + 分片、常见任务的惯用写法、更可操作的报错、能真跑通的示例。
版本号连续推进(0.2.3、0.2.4…),不跳号。
这个项目的做事方式是:每个里程碑都要有可演示的成果 + 测试护航,
完不成的就如实标成缺口,不吹。上面这些数字都能在仓库里核对。