Nyashプログラミング言語の根本的設計哲学について深い相談です。 【Everything is Box哲学と実用性の矛盾】 - Nyashは「Everything is Box」を掲げ、全ての値がBoxオブジェクト - しかしStringBox等の基本Box型で継承チェーン問題が発生 - 基本的な機能を使うのに過度な複雑性が要求される 【現在の問題例】 box Simple from StringBox { toString() { return "Prefix: " + from StringBox.toString() } } box Complex from Simple { toString() { # ❌ エラー: ComplexはStringBoxに直接fromしていない return "Complex: " + from Simple.toString() # Simple内でStringBoxが呼ばれる } } 【static提供案】 StringBoxのような基本Box型をstatic methodsとして提供: box Simple { init { content } toString() { return "Simple: " + StringBox.toString(me.content) # static呼び出し } } box Complex from Simple { toString() { return "Complex: " + from Simple.toString() # 問題なし } } 【哲学的ジレンマ】 1. **Everything is Box一貫性**: 全てがBoxであるべき vs 基本型の特別扱い 2. **実用性 vs 純粋性**: 使いやすさ vs 設計哲学の一貫性 3. **二重体系の懸念**: Box型とstatic関数の併存は混乱を招くか 【他言語の例】 - Java: String.valueOf()等のstatic methods + Stringオブジェクト - Python: str()関数 + strオブジェクト - Rust: String::new() + インスタンスメソッド 【具体的質問】 1. 基本Box型(StringBox, IntegerBox, MathBox等)をstatic提供すべきか? 2. Everything is Box哲学を維持しながら実用性を確保する方法は? 3. Hybrid approach(Box型 + static methods併存)は設計として健全か? 4. 基本的すぎるBox型の「特別扱い」は言語設計として妥当か? 5. 継承チェーン問題を根本解決する他のアプローチは? プログラミング言語の設計哲学と実用性のバランスについて、専門的見解をお聞かせください。