Loment
日本語

リリース

リリース履歴

最初の Loment から、いま出荷されたものまで。各項目は、そのバージョンが何の ためだったか —— そしてその記録がどこにあるかを述べる。最も初期のものは 別のリポジトリからリリースされており、このリポジトリはそれらのタグを持っていないからである。

ダウンロード はじめに

これはこのサイトで唯一、バージョンを名指しするページである。他のどこでも ダウンロードリンクは releases/latest と言う。ページに書かれたバージョン番号は 賞味期限つきの事実だからである。ここではバージョンこそが主題なので、それらは 名指しされ、それぞれが実際に公開されたものを指し示す。そのいずれも、まだ出荷されて いないバージョンについての約束ではない。

このリポジトリより前

最初の六つのバージョンは、プロジェクトの以前のリポジトリから出た。それらのタグも日付も このリポジトリにはないので、以下に続くのは日付つきの記録ではなく、線の形である —— そしてここでは何もどこにもリンクしない。リンクする先が何もないからである。

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 より前の commit を指しており、GitHub が生成するソースアーカイブはそのビルドの 前の木になる。

0.1.4 —— 使える

2026-09-23。主題は中身を増やすことではなく使えることだった: 構文面はまったく変わらず、作業はインタプリタの最後の部分を経路から外すことに注がれた。 このバージョンの 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 モジュール、飛ばしたものはなく、既知の欠落もなく、リストが伸びれば赤くなる 判据で固定されている。ここへ来るまでに掘り出されたのは、外から見えていた「分岐」ではなく、 静かな状態のバグだった。

新規

  1. 同梱ライブラリは双子である。ライブラリの店の下の各モジュールを、 両方のコンパイラが根としてコンパイルし、IR をバイト単位で比べる。門面 std は名前と判据で除外される —— 関数を持たず、その 127 モジュールは個別に比べられる。
  2. 自挙コンパイラの定数表。find_const は識別子ごとにユニット 全体を走査しなくなった。門面のコンパイルに数十分かかっていた原因はこれである。

修正

  1. 双子判据が暴いた状態のバグ。四アームの match が gc_auto_alpha フラグを上書きし、非 alpha のユニットが alpha として コンパイルされていた。連鎖キャストは一段目しか行わず、64 ビットの十進リテラルは ラップされず、型推論では内蔵呼び出しに戻り型がなく、シフトの被演算子は外側の 64 ビット の期待を引き継ぎ、仮想型の番兵はトークン添字と取り違えられていた。
  2. 掃討で出た三十五の欠陥。いずれも先に赤い判据がある。標準ライブラリ、 internet の十のパーサ、コンパクト VM 形式のデコーダ、言語サーバの四件、 JSON/CSV/パス/整形、VM ランタイムの段境界三件、そして「ユニット自身の閉包」ではなく 「プログラム全体」を渡していた依存パス。
  3. 容量が尽きた。チェッカのシンボル表は 5200 項目になり、std 門面の閉包は 4956 個のトップレベル名を持つ。

この版に無いもの

すでに作られていて締め出されているものは、この版では何も解かれていない — ゲートは 開かない。インタプリタは依然としてパッケージに無い:choose vm は宣言のままで、成果物を実際にエンジンへ渡せるのは 0.1.5 である。