バグの元ってのは
--- 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 は実行もするので、期待通りに動きます。