Earlier quoted context omitted.
I think op's problem is different than the one normally studied - he wants to design a halting program and find the class of programs for which it works. This is typically not very popular as these statements depend a lot on the program, and the representations of programs unlike the halting problem computability statement.
Yes, I understand that. And what I'm saying is: you can't do that. The halting problem is formally equivalent to proving arbitrary mathematical theorems. For every program, there is a corresponding theorem which is true IFF the program halts, and for every theorem there is a corresponding program that halts IFF the theorem is true. So the question: for what programs can the halting problem be decided? is formally equ…
> Yes, I understand that. And what I'm saying is: you can't do that.
Not sure if it's relevant, but it's certainly possible to define an approximate halting-problem-decider, then figure out what it does and doesn't work for.
For example, a trivial implementation which checks if the given program is equal to `42`, outputs "halts" if it is, outputs "don't know" if it isn't. The space of programs it works for is { `42` }, the space of programs it doesn't work for is `remove(42, enumerateAllPrograms)`