Nyashプログラミング言語の関数オーバーロード採用可否について言語設計の専門的観点から相談です。 【背景】 Nyashは「Everything is Box」哲学で、明示性重視・初学者フレンドリー・メモリ安全性を重視する言語です。現在Phase 2でP2PBox実装中で、関数オーバーロード(引数数による分岐)を採用するか重要な決断が必要です。 【具体的争点】 send(a) と send(a, b) のような関数オーバーロードを許すか? 例: ```nyash // オーバーロードありの場合 node.send("hello") // ブロードキャスト node.send("bob", "hello") // 個別送信 node.send("bob", msg, options) // オプション付き // オーバーロードなしの場合(現在) node.broadcast("hello") // 明示的メソッド名 node.send("bob", "hello") // 必ず2引数 node.sendWithOptions("bob", msg, options) // 明示的メソッド名 ``` 【メリット】 1. API使いやすさ向上 2. 他言語からの移行しやすさ 3. 直感的な呼び出し 【デメリット】 1. 間違った関数を呼ぶリスク 2. デバッグ困難 3. Nyashの明示性哲学と矛盾 4. 初学者混乱 5. 型推論複雑化 【Nyashの設計思想との照合】 - 明示性重視: プログラマーが変数の宣言先を即座に特定可能 - 初学者フレンドリー: 学習コストが低い - Everything is Box: 統一されたオブジェクトモデル 【質問】 1. Nyashの設計思想から見て、関数オーバーロードは採用すべきか? 2. 明示性 vs 利便性のトレードオフをどう判断すべきか? 3. 初学者向け言語として適切な選択は? 4. P2P通信APIにおける最良の設計は? 5. 他の現代的言語設計トレンドとの整合性は? プログラミング言語設計の専門的視点から、Nyashの将来を決めるアドバイスをお願いします。