I noticed earlier today that the Befunge interpreter on TIO no longer functioned in quite the same way as the old version (I guess this was caused by the nexus update). As a result, one of my old answers that relied on undefined behaviour that was specific to the TIO implementation is now no longer valid. I was quite happy to just delete that answer, since it only had one upvote anyway, but I'd like to know what the recommended practice is for these situations in general.
I know my particular case is probably not that common, but I suspect a lot of the golfing languages used on this site are evolving in ways that might not always be backwards compatible and could occasionally invalidate old answers. If that happens, are people expected to update those answers to be compatible with the latest version of the interpreter? Do they just leave their answer broken? Or should they delete the answer if they can't or don't want to fix it?
&.@
in Befunge-93 used to output a random number when the input was empty. Assuming you were just using the default compiler options, my guess is that you're now using a different compiler, or at least a different version of the compiler when building the interpreter. \$\endgroup\$&
uses an uninitialized variable that never gets written to when STDIN is empty, so I'm not surprised a different compiler would give different results. Just add a note that you answers works with this interpreter, compiled with a plainmake
and gcc 4.8.4. No need to delete it. \$\endgroup\$