I've just started working on the host API interface now, you'll get passed a DruinkScript::Stack class reference to your functor, and that stack will have functions like GetParamType(size_t nIndex);, GetParamAsString(size_t nIndex);, GetParamAsInt(size_t nIndex); and so on (Similar to Lua).
When you register a host function, you'll pass a pointer to your functor, how many parameters it expects, and the accepted types for each parameter. The VM will attempt to perform any conversion needed, and should save the host function from validating parameters constantly.
The stack interface will just sit on top of the VM's stack, and prevent a host call from doing stupid things like touching bits of the stack it shouldn't. Just a light wrapper anyway.
Once that's done I'll be adding in the debugger, which should be pretty straightforwards, particularly if I just want to get some simple "break on error" stuff, and variable watchpoints.
Anyhoo, that'll do for now...