Sorry for the bad title, but I couldn't describe my problem in a few words.
I'm creating a programming language aimed at code golf puzzles. The language has an internal set of tapes, where the computations are saved and then retrieved to the user.
At the end of the program, the interpreter prints the values on the tapes, and this is considered the result of the computation. However, many problems do not need a set of tapes as an answer, only one tape (in that case, the first tape) or even a single number (the first number in the first tape).
Would it be cheating if I made it possible as an argument during the interpreter execution? Like:
my_interpreter.exe --code '<my-code>' --print-format 1
Of course, I'd like to avoid making it a language function as it would make the results bigger and, therefore, make my language worse in code golf.
I don't consider changing the print format as a calculation step. Also, the default behavior is to print the whole set of tapes, and even when the puzzle expects a single value as result, the value is actually there. It would just print some garbage along the result and I'd like to avoid that.
BUT I need your opinion as well since this language is not just for me. I won't make it an execution argument unless everyone agrees with it. Also, I don't want other code golf language owners to feel cheated.
What do you think about that?