% array_set(+Array, +Index, +Value) % set a value: Array[Index] = Value % array_get(+Array, +Index, -Value) % return a value: Value = Array[Index] % array_create(+Class, +Size, -Array) % make a new array of class Class and dimension Size % resulting object is unified with the last argument % expand_array(+Array, -List) % converts a Java Array into a Minerva List main(_) :- get_class(string, StringClass), create_array(StringClass, 10, Array), fill_array(Array), show_array(Array), array_set(Array, 5, 'hello world'), show_array(Array), expand_array(Array, List), writeq(List), nl. fill_array(Array) :- array_set(Array, 0, 'zero'), array_set(Array, 1, 'one'), array_set(Array, 2, 'two'), array_set(Array, 3, 'three'), array_set(Array, 4, 'four'), array_set(Array, 5, 'five'), array_set(Array, 6, 'six'), array_set(Array, 7, 'seven'), array_set(Array, 8, 'eight'), array_set(Array, 9, 'nine'). show_array(Array) :- for(0, I, 9), array_get(Array, I, Value), write('array['), write(I), write('] = '), writeq(Value), nl, fail. show_array(_) :- nl.