* Iterate over key-value pairs of a map map = new('map 1:one 2:two 3:three') visit(domain(map),'expr to evaluate for each member') visit(range(map),'expr to evaluate for each member') next this = next(map) :f(done) out(show(this) ':' show(get(map,this)) :next) done loop(d = domain(map) next out('next domain entry',next(d)) :s(next) done loop(d = range(map) next out('next domain entry',next(d)) :s(next) done