// Correct output: // ok // ok // [ 1 1 ] // X uses io.print, conv.itos ONE = 1 x:int = ONE y:int = TWO TWO = 2 ai:array[int] = new int[TWO](ONE) class A { aA:array[A] init():A = (aA = new A[5](new A); this) foo() = print("X\N") bar() = ( aA[0].foo() ) } main(args:array[string]):int = ( if (x != 1) printOops() else printOk(); if (y != 2) printOops() else printOk(); printArrayInt(ai); a:A = new A.init(); a.bar(); 0 ) printOops() = print("oops\N") printOk() = print("ok\N") LINE_LENGTH = 10 printArrayInt(a:array[int]) = ( print("["); i:int = 0; while (i < length a) ( print(" " + itos(a[i])); if ((i+1) % LINE_LENGTH == 0) ( print("\N "); ) else ( print(" "); ); i++; ); print("]\N"); )