
2026/02/07 7:10
**Show HN:** **R3forth** – カラー・フォース(ColorForth)に触発された小型 VM を備えた言語 ---
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
要約
r3forth は ColorForth と古典的な Forth からインスパイアされた、ミニマリストでセルフホステッドのスタック機械言語です。そのコア仮想マシン r3evm は C 言語で書かれたわずか約40 KBで、Windows と Linux 上で外部ライブラリを必要とせずに動作します。ただし、Linux ビルドには SDL2 開発パッケージ(
libsdl2-dev、libSDL2-image-dev など)が必要です。
プロジェクトは事前コンパイル済みのバイナリ(Windows 用
r3.exe、Linux 用 r3lin)を配布しており、セルフホステッドコンパイラも提供しています(現在は Windows のみ)。ソースからビルドするには、リポジトリをクローンし(https://github.com/phreda4/r3evm)、make を実行し、生成されたバイナリを起動します。
起動時に r3forth は自動的に
main.r3 をロードし、/r3 ディレクトリをスキャンして内部メニュー、エディタ、辞書ブラウザ、およびライブコーディングツールを構築します。これにより、端末から直接スクリプトを実行できるようになります(Linux では ./r3lin hello.r3、Windows では r3 hello.r3)。
エコシステムは古典的な Forth を拡張し、グラフィックスと 2D ライブラリ(スプライト、タイルマップ、フォント)、3D エンジン、衝突ハッシュ、およびテキストベース UI と即時モード GUI 用のツールを備えています。すべてのソースコード、ドキュメント、デモ、ゲーム、チュートリアルは GitHub、itch.io、YouTube にホスティングされています。
将来のリリースでは、ハードウェア上でネイティブに動作する直接金属ビルドを提供し、グラフィックス、ロジック、および UI コンポーネント用のライブラリセットを拡張していく予定です。これにより、r3forth はインディーゲーム開発、趣味プロジェクト、その他スタック機械ユースケースで迅速なプロトタイピングに適した軽量プラットフォームとして魅力的になります。
本文
r3forth – ミニマリスト・セルフホステッド スタックマシン環境
r3forth は ColorForth と Forth の哲学に触発されたプログラミング言語および開発環境です。極端な最小主義と実用的かつ創造的なパワーを両立した、完全にセルフコンテインドなシステムとして設計されています。
技術概要
- 超ミニマリスト VM – C で書かれた非常に軽量で移植性の高いコア(約40 KB)(r3evm)。Windows と Linux に対応。
- ゼロボトル哲学 – 大規模な標準ライブラリや複雑なツールチェーンはありません。VM 本体、スタック、およびユーザーコードだけです。
- 高速性とネイティブ志向 – VM 上で動作しながらも r3 はスピードを追求しています。現在は Windows 向けに完全に r3forth で書かれた自己ホスト型コンパイラがあり、将来的には直接メタルへの実装へと進化させる土台を築いています。
- 豊富なエコシステム – この最小コアの上に、次のような強力ライブラリを提供します:
- グラフィクス & 2D:スプライト、タイルマップ、フォント、アニメーション、スタックベーススプライト。
- 高度ロジック:3D エンジン、衝突ハッシュ、TUI/即時モード GUI (immgui)。
- ツール:統合エディタと増え続けるゲーム・デモコレクション。
クイックスタート
Linux
- 依存関係をインストール
sudo apt install libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libsdl2-mixer-dev - 事前コンパイル済みバイナリ実行 – 最新リリース(.zip)をダウンロードし、実行します。
- ソースからビルドする(互換性重視推奨):
git clone https://github.com/phreda4/r3evm cd r3evm && make mv r3lin ../ cd .. ./r3lin
Windows
- 最新リリース(.zip)をダウンロード。
- 解凍して
を実行。インストールは不要です。r3.exe
ワークフロー:r3 の使い方
1. 統合開発環境 (IDE)
- 引数なしでバイナリを起動 (
on Linux,./r3lin
on Windows)。r3.exe - システムは自動的に
を読み込み、main.r3
フォルダをスキャンし、内部メニューとツールを構築します。/r3 - IDE 内には組み込みコードエディタ、辞書ブラウザ、ライブコーディングツールが備わっています。
2. 標準テキストエディタワークフロー (CLI)
- スクリプト (
) を作成し、コードを書きます。hello.r3 - 直接実行:
- Linux:
./r3lin hello.r3 - Windows:
r3 hello.r3
- Linux:
VM はスクリプトをミリ秒単位でコンパイル・実行し、即時フィードバックを提供します。
最初のプログラム
:main 0 sdlcls $ff0000 sdlcolor 10 10 100 100 sdlfrect sdlredraw sdlkey >esc< =? ( exit ) drop ; : "角に赤い箱" 800 600 SDLinit 'main SDLShow SDLquit ;
フォルダ構成
– コア起動スクリプト。main.r3
– すべてのコード、システムライブラリ、IDE コード、コアツール(全/r3/
)。.r3
– コンパイラフォルダ(呼び出さない限り未使用)。/asm/
– Windows DLLs (インストール不要)。/dll/
– ドキュメント。/doc/
– グラフィックス、サウンド、モデル、フォント等。/media/
– 静的メモリ(r3 から退出時に情報を保持)。/mem/
– Notepad++ 用の構文ハイライト設定。main.xml
ショーケース & デモ
r3 はクリエイティブスイートです。以下のメディアをご覧ください:
develop.movgames.movdemo.movopengl.mov
itch.io 上のゲーム集: https://phreda4.itch.io/
さらに詳細なドキュメントは
/doc フォルダにあります。
追加リソース
- チートシート(基本ワードのみ)
- マニュアル
- クイックリファレンス
- SDL グラフィックスプログラミングガイド
- 基本ライブラリのワード集
- YouTube チャンネル (動画付き)