BindBC codegen survey

Luna luna at foxgirls.gay
Tue Sep 9 02:38:29 UTC 2025


On Tuesday, 9 September 2025 at 02:33:56 UTC, Luna wrote:
> 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.

I’ll add that I do plan to write tooling to help convert some of 
the more common C and C++ documentation formats to DDOC; and 
potentially also some way to map Objective-C classes to Apple’s 
online documentation to extract from that. As well as a way to 
generate sphinx documentation pages from ddoc for use with 
ReadTheDocs.

I’ll make a post on the forums when that tooling is ready.



More information about the Digitalmars-d mailing list