Tangential: the current approach of "C call stack mirrors the huo call stack", although it works for now, can cause problems. I personally prefer non-recursive intrepreters. This would require a lot of rewriting.
How do we want to handle scope? Straight lexical scoping? Other?
Do we want explicit nonlocal / global statements, similar to Python?
Effectively, figure out the API and then figure out how to get the language to implement the API.
I like the idea of the non-recursive interpreter. I think I'll play with that idea because it's clear to me now that the current recursive approach is too confusing. I will probably make a simple prototype in JS to understand the stack based approach before I attempt it here, but this is exactly the kind of problem I enjoy working on.
Hmmm, I'm not sure about the implementation details of lexical scoping vs. dynamic scoping. I will do more research.
I think global statements are generally useful, but it might be interesting to leave them out!
So, a couple of thoughts:
Effectively, figure out the API and then figure out how to get the language to implement the API.