BindBC codegen survey

Luna luna at foxgirls.gay
Tue Sep 9 02:33:56 UTC 2025


On Sunday, 31 August 2025 at 11:12:42 UTC, IchorDev wrote:
> On Monday, 25 August 2025 at 13:01:08 UTC, Luna wrote:
>> 2. Poor to no documentation
>
> What kind of documentation would there be?
> If you mean documentation from the original project the 
> bindings are for, then this is simply infeasible due to 
> requiring an astronomical amount of time to convert, and the 
> potential for documentation to be different between versions, 
> etc.

Only infeasible if the projects don’t provide documentation, 
otherwise it would be best to hand write these bindings with 
documentation hand converted to ddoc, or write tooling to 
automate it. It’s tedious but long term worth it that you can 
have documentation at your fingertips instead of 30 browser tabs 
open after 10 minutes of coding.

>> constant version incompatibilities, slower compile times
> 
> Could you please elaborate on these two?

Often I’ve used the ~> version identifier, but occasionally 
you’ve updated the loader implementation, then updated one 
library to use it and not another, while the patch releases end 
up dependency incompatible. Mostly dealt with this in 
bindbc-opengl and bindbc-sdl. Has made building my projects 
difficult for some as suddenly a new x.y.z release is out for sdl 
that is incompatible with the latest x.y.z opengl package.

Solving this would require locking dependencies for x.y.0 so that 
those point releases don’t end up with incompatible bindbc 
loaders. Then seeing dependency updates as a breaking change that 
neccesitates a bump of x.y version number.




More information about the Digitalmars-d mailing list