User blog comment:Alemagno12/Ordinals in programming languages part 1: Brainfuck/@comment-39162-20170404154031

A mild but still nonworking patch: instead of having - decrement the cell, have each cell contain two values (a, b). The + symbol increases a by one, the w symbol increase a by &omega;, and the - symbol increases b by one. When a cell would have been checked to be equal to zero (by the bracket symbols), instead check if a=b.

The, symbol sets a to the value input and b to 0. The. symbol prints the value of (a-b), evaluated then, which is still really weird for ordinals but at least you're not doing the calculations at runtime (and really, who cares about I/O?)

Then all that's left is figuring out what a program does when it's left for &omega; steps, which is probably the hardest part to do rigorously. There's probably something nice we can steal from infinite time turing machines there.