delegate callback( i int ) returns( int ) end program ApplyCallbackToArray function main() values int[] = [ 1, 2, 3, 4, 5 ]; func callback = square; for ( i int to values.getSize() ) values[ i ] = func( values[ i ] ); end for ( i int to values.getSize() ) SysLib.writeStdout( values[ i ] ); end end function square( i int ) returns( int ) return( i * i ); end end