This is related to Sp3000's question earlier, but probably a separate issue:
Are programs required to terminate, provided they print the desired output before entering an endless loop and can be proven to never print anything else in the future?
As a fake example, consider the following "Hello, World!" submission in JavaScript:
console.log("Hello, World!");
while(true);
This prints the desired output, and will never print anything else, but it doesn't terminate.
REPL submission snippets and function snippets should also be considered in the answers.