You don't need lookahead to deal with lisp, you just need super fuckin lazy parsing.
So like, we don't deal with a number until we find a non-number character, then we execute both the number handling code and the non-number handling code.
This will break at places where you have like, numbers and symbols right next to each other but like... don't do that.
@powerofzero Oh, it took a few weeks and the original version is written in C, but like it's assembler -- I basically translated it over because C means I can toy with and debug stuff to get the program right, and then I have a baseline to compare against lol