We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.
ExceptionTrackingCounterMachine
Exception Tracking Machine
Exception tracking machine influenced by partial execution in Ð:
function halts(f) {
Time = <SRT(Task*T)>ask!Exception!
task :> launch(f)
if (doesNotHaltInTime(task)) {
print(k!Exception)
return halts { repeat (task) { f(!) } }
}
return true
return error
}
exception_tracks(!)
Track = e*e*T
plot < T^2
if (exception(plot)) {
print(k^2!)
return task(f)
}
}
An implementation will probably look like
The_Waterfall_Model#Implementation_with_only_small_integers_in_the_program
To track data flow at runetime (as proofs need to be legally a Flow of Holes program) 2 needs to be extended to J using the normal flow of holes execution steps.
[9,10] is the interval for number of Flow of Holes programs required to track exceptions (the purpose of the machine.) This means there are a limited number of exceptions which can be tracked, else a loop will fork an infinite exception process.
This way we can count exceptions using the following schematic https://esolangs.org/wiki////#Simpler_counter
[0,1,2,D,d]
The exception tracking scheme used here is as follows for a character c:
|c 2→J <-\\>\\\c runtime exception <-\>\c track <->c count c Just-in-time compilation
Tag system
c: 2
A: {1,2,3,J}
P:
1 --> 3321E
2 --> 331
3 --> 33
Computation
Initial word: !halts(J)
1331
313321E
3321E33
21E3333
E3333331 (Exception).
{WIP}