これが出来ないとどんな「不便」があるのでしょうか。 教えてもらえると助かります。(不勉強で済みません。) ちなみに、ローカル変数にはならないようです。(サブルーチン定義の順番を入れ替えればエラーにならないためです。)また、名前の解決を1パスで行うための仕様だと思います。(実行開始が遅くなるのを避けるために、1パスになっていると思われます。)インタプリタ設計者の自由の範囲内かと思います。