Цитата(WKnight @ 5.11.2012, 15:22)

Массив не возвращается по ссылке, если в процедуре меняется его размер. Надо наверно копирование делать при возврате.
Может сделать чуть более прозрачно передачу аргументов и ссылок ?
Например в PHP это устроено так - в аргумент функции всегда передается копия переменной, но можно явно указать о необходимости передачи ссылки на переменную (символ &).
Предлагаю в пилоте сделать так же:
Код
call myproc &%arr // передать ссылку
Код
proc myproc &%arr // получить ссылку
Копия передается если ни в объявлении процедуры, ни в вызове процедуры не указано что передается ссылка.
Примеры:
Код
// передать ссылку
call myproc %arr
proc myproc &%arr
Код
// передать ссылку
call myproc &%arr
proc myproc %arr
Код
// передать копию
call myproc %arr
proc myproc %arr