概要
- Rhombus 1.0 が正式リリース
- 新言語設計の目的 と特徴を解説
- FAQ でよくある疑問に回答
- 実例プログラム や活用事例を紹介
- 主要貢献者 もリストアップ
Rhombus 1.0 リリース情報
- Rhombus version 1.0 の公開
- ダウンロード: https://rhombus-lang.org/download.html
- 詳細情報: https://rhombus-lang.org/
- 主要貢献者
- Mashfi Ishtiaque Ahmad, Taylor Allred, Nia Angle, Wing Hei Chan, Stephen De Gabrielle, Robert Bruce Findler, Jacqueline Firth, Matthew Flatt, Oliver Flatt, Kiran Gopinathan, Ben Greenman, Siddhartha Kasivajhula, Alex Knauth, Jay McCarthy, Lucas Myers, Alec Mills, Sam Phillips, Sorawee Porncharoenwase, Jens Axel Søgaard, Sam Tobin-Hochstadt
Rhombusの設計目的
- 現代的なプログラミング言語設計 の集大成
- レキシカルスコープ、クロージャ、オブジェクト、パターンマッチ、型パラメトリシティ対応
- 言語拡張性 と ドメイン特化 の両立
- 汎用性とタスク特化のバランス
- Lisp伝統のマクロ の表現力と流動性を継承
- ただし、 親しみやすい構文 を採用
- Racket の機能と拡張性を一般ユーザー向けに再設計
- 一貫性 と アクセシビリティ 重視
よくある質問(FAQ)
- Rhombusの特徴
- 汎用・関数型・拡張性・高性能・豊富なドキュメント・実用的ライブラリ
- 動的言語だが、静的な抽象化や型の強制も可能
- 他言語との違い
- 独自の繰り返し記法(…)、機能的データ構造、高い拡張性
- 速度
- ベンチマークあり(詳細は公式サイト参照)
- 開発環境
- DrRacket推奨だが、VSCodeやEmacsにも対応
- Racketとの関係
- Racket上に構築され、DrRacketやracoなどRacketのツール群を利用
- ElixirとErlang、KotlinとJavaの関係に類似
- #lang rhombus でRhombusモジュール化
- 構文の違い
- S式ベースでない新構文(homoiconicityは限定的)
- shrubbery notationによる二重構文体系
- マクロ・DSL・メタプログラミング
- マクロを使わなくても強力なベース言語
- メタプログラミングを重視し、汎用言語と統合
- DSLやツール支援、ドキュメント生成にも有効
- 学術・研究・教育用か
- 学術的背景ありだが、 本番運用も想定
- 豊富なライブラリは今後拡充予定
- Racket同様の安定性とサポートを目指す
- AI時代の新言語・DSLの必要性
- AIコーディングの普及でも新言語の需要は依然あり
- 人間・AI双方の生産性向上を目指す
- DSLサポート強化がRhombusの使命
Rhombus実例プログラム・活用事例
- 公式サイトのサンプル
- https://rhombus-lang.org/ のカルーセル参照
- Pille
- LLVMバックエンドを持つRhombus製新言語
- 言語構築・メタプログラミング例
- Economancy
- テーブルトップゲーム
- 審判・プレイヤープログラム・簡易GUIをRhombusで実装
- 関数型プログラミングの実践例
- rhombus-html-lib
- HTML5仕様に準拠したAI実装のHTMLパーサ
- Java風・命令型、改良の余地あり
- ネットワーク・セキュリティ用スライド
- pictライブラリを使ったアニメーション付きスライド
- 古いコードだが大規模事例
- pict-demo
- pictとメタプログラミングの例
- ICFP’26論文ドラフト用アーティファクト
- 評価ステップのアニメーション実装
- Shplait
- ML型システムとRhombus構文の教育用言語
- Utah大学の言語コースで利用
- rhombus-draw-lib
- racket/drawラッパー
- Racketライブラリの再利用例
まとめ
- Rhombus は、 現代的機能 ・ 拡張性 ・ 実用性 を兼ね備えた新しいプログラミング言語
- Racketエコシステム との連携、 マクロ ・ DSL ・ メタプログラミング の強力なサポート
- 教育・研究用途 だけでなく、 本番利用 にも対応
- 豊富な活用事例 と今後の発展可能性