Automatic bindings, in the context of “adding a bunch of languages” is kind of chasing El dorado. It is fun on the frontend, but then you hit the swamp The devil is the additional per language glue, adding examples, keeping it all running.
Our approach, does lightly use some AST, but there is a ton of glue code and stuff for handling things like variants, events, etc. There is also all the thought and work that goes into making things feel somewhat natural in a given language, generating and maintaining examples in it, etc.
Instead of adding JavaScript as an “option”, we removed AngelScript and Lua. This allowed us to do some stuff that wouldn’t be a fit for the Urho project, though did move us along. We have a schedule to keep
Doubling down on AngleScript and Lua support seems like a good idea. Possibly, using AST to help with maintaining those languages. Though, that seems a bit “heavy”
I am having a hard time envisioning Urho master having a slug of languages, glue code, generators, etc in it… or how this works with the current AngelScript and Lua support? How do contributors and downstream forks factor it in to generate bindings? What are the submission requirements of new features and examples, all languages, some languages?
In any event, a good conversation in this thread