Yeah, tt++'s programming model is essentially a finite state machine with a single global scope. If that sounds hard to work with, it is.
I think if I were starting over, I'd go with a client that's extensible in a real language, whether that be Lua, Python, Ruby, Scheme, elisp, etc., simply so I could take advantage of modern programming language features.
I think if I were starting over, I'd go with a client that's extensible in a real language, whether that be Lua, Python, Ruby, Scheme, elisp, etc., simply so I could take advantage of modern programming language features.