Files
hakorune/docs/research/paper-07-nyash-one-month/timeline.md
Moe Charm 11506cee3b Phase 11-12: LLVM backend initial, semantics layer, plugin unification
Major changes:
- LLVM backend initial implementation (compiler.rs, llvm mode)
- Semantics layer integration in interpreter (operators.rs)
- Phase 12 plugin architecture revision (3-layer system)
- Builtin box removal preparation
- MIR instruction set documentation (26→Core-15 migration)
- Cross-backend testing infrastructure
- Await/nowait syntax support

New features:
- LLVM AOT compilation support (--backend llvm)
- Semantics layer for interpreter→VM flow
- Tri-backend smoke tests
- Plugin-only registry mode

Bug fixes:
- Interpreter plugin box arithmetic operations
- Branch test returns incorrect values

Documentation:
- Phase 12 README.md updated with new plugin architecture
- Removed obsolete NYIR proposals
- Added LLVM test programs documentation

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-01 23:44:34 +09:00

1.4 KiB
Raw Blame History

1ヶ月間の開発タイムライン

Day 1-3: 言語設計とパーサー

  • Everything is Box哲学の確立
  • 基本構文設計box, init, from
  • パーサー実装(無限ループ対策付き)

Day 4-6: インタープリター実装

  • 基本的なBox型StringBox, IntegerBox, BoolBox
  • メソッド呼び出し機構
  • デリゲーションfrom構文実装

Day 7-9: MIRとVM実装

  • MIR設計最初26命令→現在15命令に削減
  • AST→MIR変換
  • VMインタープリター実装
  • マイルストーン: Hello Worldが3形態で実行可能

Day 10-12: 最適化とプラグイン

  • VM最適化FastPath
  • プラグインシステムBID-FFI設計
  • FileBoxプラグイン実装

Day 13-15: JIT基盤構築

  • Cranelift統合
  • MIR→CLIF変換
  • 基本的なJITコンパイル
  • マイルストーン: 13.5倍高速化達成

Day 16-18: JIT完成とHostCall

  • HostCall機構Array/Map操作
  • JIT最適化型特殊化
  • フォールバック機構

Day 19-20: AOTとネイティブEXE

  • AOT object生成
  • libnyrt.a 実装
  • ネイティブリンク成功
  • 最終マイルストーン: スタンドアロンEXE生成

驚異的な点

  • 各フェーズが2-3日で完了
  • 後戻りなしの一直線開発
  • 毎フェーズで動作確認可能
  • 最終的に5つの実行形態が意味論等価で動作