在这个仓库之前
最早六个版本出自这个项目之前的那个仓库。它们的标签不在这个仓库里,日期也不在,所以 下面给出的是这条线的形状,而不是一份带日期的记录 —— 而且这里没有一处链接,因为没有 什么可链。
0.1.1 —— 第一个 Loment
Rust 语法的严格子集。那是最初的约束,而不是一种风格:这门语言由 Rust 已经定下来的东西来定义,所以几乎没有什么可争的,需要的只是把编译器建起来。 它如今不再声称是子集 — 重叠面还在,只是当语法面长过它之后,那个说法被撤掉了。
0.1.2 Alpha —— 第一次自举
这门语言开始用自身来写。它买到的不是优雅:一个用它自己所编译的语言写成的编译器, 是找出这门语言表达不了什么的唯一办法。
0.1.2 pre1 —— 修补
第一次自举暴露出来的那些问题。预发布正是这类东西该发生的地方。
0.1.2 pre2 —— 至今仍立着的地基
此后每一次发布都建在它之上的自举地基:一个从提交进仓库的种子重建自身的编译器, 以及一条"重建出来的种子等于它出发时的那个"的判据。
0.1.3 Alpha —— 多语法这个想法到来
第一个可以把另一种语言的源码当作 Loment 来读的版本。语义永远是这门语言的,借来的 只是拼写。它是这个项目的立论,而不是后来加上去的一个功能,所以它列在这里,而不列 在"还有什么不同"下面。
0.1.3.4 Alpha —— 闭环
四个阶段 —— 词法分析器、解析器、检查器和代码生成器 —— 全部用 Loment 写成,产物 到达一个三阶段的定点。这是从上一个仓库发布的最后一个版本,也是此后每一个版本拿来 对照的那一版:它是语言与编译器不再需要一个宿主来定义自己的那个发布。
来自这个仓库
在这个仓库里发布过、并且排在此刻这一版之前的四版。每一版都只占一行,而不是一节, 理由是一份记录应该给出的:细节在它链去的那张发布页上,而一份不断完整生长下去的历史 就不再是历史,而是档案的第二份副本。
0.1.4 Pre —— 第一个装得上的 Loment
2026-09-22。它被当作预发布挂出来只有一个原因:让"这个仓库是有版本 的"不再是一句声称,而变成一件你看得见的事实。有一处制作上的细节留到了今天 —— 标签 指向的 commit 比归档包所构建自的那个更早,所以 GitHub 自动生成的源码归档包,是那次 构建之前的树。
0.1.4 —— 可用
2026-09-23。主题是可用,而不是往里塞更多东西:语法面完全 没有变,力气都花在把解释器最后一点从必经之路上拿掉。它的 Windows 安装器在那些把 Windows 配置成不搜索当前目录的机器上什么也不做;要这一版请从 zip 安装。
0.1.4.5 —— 回收,以及一个成为保证的运行时
2026-10-13。四级回收阶梯,带一个自适应的一半和一个分代的一半;
no_runtime 从声明变成了保证;两个目标上都有网络;第五个维度
vm 到来,而它的发行闸是关着的。同一天的一个补丁只改了 Windows
安装器。
0.1.4.6 —— 闸门落下
2026-10-17。四件建好了、却一直被挡在发行版之外的东西同时变得可达:
编译器旁边的解释器档、libc 与 LibL、以及 vm 这一维。其余是 0.1.4.7
之前最大的一次缺陷清扫。
0.1.4.7 —— 库成为孪生
2026-10-18。一次缺陷发布,而头条不是一个功能:包里随附的每一个库,现在 在两个实现里编出逐字节相同的 IR —— 155 个模块,没有一个被跳过,没有 已知缺口,而且有一条判据在名单变长时会红。为了走到这里翻出来的是一批静默的状态 bug, 而不是它们从外面看起来的那种「分歧」。
新增
-
随附的库是孪生。库目录下的每个模块都被两个编译器各当作根编一遍,
IR 逐字节比。门面
std按名字、并且按一条判据排除在外 —— 它没有函数, 它的 127 个模块是逐个比的。 -
自举编译器里的常量表。
find_const不再为每个标识符扫一遍 整个单元 —— 那正是门面要编译几十分钟的原因。
修复
-
孪生判据翻出来的状态 bug。四臂
match覆盖了gc_auto_alpha标志,于是非 alpha 的单元被按 alpha 编;链式转换只做了 第一步;64 位十进制字面量没有回绕;类型推断里内建调用没有返回类型;移位的操作数 继承了外层的 64 位期望;虚拟类型哨兵被当成了 token 下标。 -
清扫出的三十五条缺陷,每条都先有一条红的判据。标准库、
internet的十个解析器、紧凑 VM 形式的解码器、语言服务的四处、 JSON/CSV/路径/格式化、VM 运行时的三处档边界,以及一趟把「整份程序」当成「这个单元 自己的闭包」递下去的依赖检查。 -
容量不够了。检查器的符号表现在是 5200 条;
std门面的 闭包有 4956 个顶层名字。
这一版没有
已经建好、却还被挡在外面的东西,这一版一件也没有放行 — 它不开闸。解释器
仍然不在包里:choose vm 仍只是一句声明,真把产物交给引擎是
0.1.5 的事。
当前状态在哪里
这一页是历史。这个项目今天能做什么,在站上其余页面和仓库里;它接下来打算做 什么,在路线图上 —— 它是按一份计划来写的,并且自己这么说。