Being beginner, I can't understand why array (u,integer,5); hh():=block(u[2]:333, print(u[2])); hh(); works but on the other hand array (u,integer,5); hh():=block(u[2]:333, print(u[2])); compile(hh); hh(); leads to an error message. Thanks for explanations in advance. M. K. Shen