I'm curious what the goals for C/C++ documentation and tooling are expected to be like over time.
To put it in user story parlance: As a passable, maybe even okay, high-level language developer (JS, C# .NET, Java, python, etc), I'm interested in leveraging the component model to bring C/C++ libraries and even runtimes (I have two interpreted runtimes I didn't make, but I want to bring), into the component model ecosystem.
I'm "okay" with C/C++ as languages but the tooling and ecosystem around them much less so. I've been very successful using emscripten for bringing C/C++ to browsers, but I'd like to look at component model for both out of browser and maybe even browser as well. A very large part of why I have been able to be successful with emscripten is the level of documentation: https://emscripten.org/index.html
I think having that level of documentation around the C/C++ ecosystem would help a lot. I'm curious what the plans are if any:
In our community we have several folks working towards the same use-case as you described. It would be extremely beneficial to have improved doc, tools, and additional resources to ease folks into a componentized ecosystem with C/C++. I understand from some of them that C++ folks that they'd like C++ specific bindings and docs to make things more ergonomic.
We've definitely talked to the emscripten folks but their focus is largely for the web target. I think we can find ways to complement each other. For example, I wonder if jco's wasip2 shims could be shared between the two projects.
This is absolutely within the goals of the BA.
In our community we have several folks working towards the same use-case as you described.
Do you know where that is being put together? So far the only component-model associated C/C++ docs I can find are the top-level README of wasi-sdk and an unmerged component-model docs PR:
Neither of which seem like the correct place for docs of the scope described above?
I think a project like componentize-cpp
would be a good place to land those types of materials.
For example, we have the following projects today:
It would help to form a subgroup of SIG Guest Languages for C++ to organize this work.
The process to create a new BA project is to essentially create a GitHub issue with this template: https://github.com/bytecodealliance/governance/blob/main/templates/projects/proposal.md
We plan to update the template soon to incorporate hosted vs core project requirements. You may use this proposal as an example of the expanded template https://github.com/bytecodealliance/governance/issues/98
Last updated: Dec 23 2024 at 13:07 UTC