Lune
the Lazy and Native programming language
コンパイラが教えてくれる、遅延評価の関数型入門言語。
エラーも、その解説も、母語で読めます。
A teaching-first functional language: lazy by default,
with diagnostics that speak your native language.
error[TYP0007]: 網羅的でない match: Blue のケースがありません --> main.lune:7:5 | 7 | match c: | ^^^^^ パターン Blue がカバーされていない = hint: Blue のケースを追加するか、ワイルドカードケース `| _ -> ...` を追加してください = help: 詳しくは `lune explain TYP0007 --lang ja` を実行してください
- Lazy — デフォルト遅延評価。REPL の
:thunks/:traceで、いつ・何が評価されたかを目で見られます。無限ストリームも標準装備。 - Native — 全診断コードに「意味・発生する最小例・直し方」の詳解。
--lang jaでメッセージも hint も日本語に。 - 教えるコンパイラ — 網羅性検査は反例つき、typo には did-you-mean、
lune fixで自動修正。エラーが教材になります。