Matrix := Object clone do( store ::= nil get := method(x, y, store at(x) at(y) ) set := method(x, y, value, store at(x) atPut(y, value) ) dim := method(x, y, list setSize(x) map(list setSize(y)) Matrix clone setStore( list setSize(x) map(list setSize(y)) ) ) ) m := Matrix dim(10, 7) m set(3,4, 5) m get(3,4) println m get(3,0) println