バグの元ってのは --- slot 0 --- use 1 f --- slot 1 --- var v[8] ' slot 1 内でのグローバル配列(のつもり) common def f ? v[0] ' 配列の要素を参照してみる end --- これで run すると ? v[0] が type mismatch になります。 ∵コンパイル時には var v[8] の行は v というシンボルを登録するだけで、vはまだ配列にはなっていないからです。 この行を「実行する」ことによって、初めて v は配列になります。 use はコンパイルだけして実行はしないのでこのようになります。exec は実行もするので、期待通りに動きます。