//: Recipe to look at elements of containers. :(before "End Globals") const int _PRINT = 99; :(before "End Primitive Recipe Numbers") Recipe_number["$print"] = _PRINT; assert(Next_recipe_number < _PRINT); :(before "End Primitive Recipe Implementations") case _PRINT: { if (isa_literal(instructions[pc].ingredients[0])) { trace("run") << "$print: " << instructions[pc].ingredients[0].name; cout << instructions[pc].ingredients[0].name; break; } vector result(read_memory(instructions[pc].ingredients[0])); for (size_t i = 0; i < result.size(); ++i) { trace("run") << "$print: " << result[i]; if (i > 0) cout << " "; cout << result[i]; } break; }