tac icon indicating copy to clipboard operation
tac copied to clipboard

ASWF Language Interop WG

Open furby-tm opened this issue 1 year ago • 5 comments
trafficstars

Describe the purpose of the group in no more than 4-5 sentences

The ASWF Language Interop WG is dedicated to providing interoperability between various programming languages; Python, Rust, Swift, C, and C++ with the potential for future languages to be identified by TAC/TSC, if an existing ASWF project and/or member company are supportive of interoperability between a future language. Additionally empowering all software development by providing seamless interoperability of these APIs through their common, standard existing C++ implementations.

Goals of the working group

  • To work in collaboration across the ASWF in the mission to allow all of its existing projects and libraries to interop with these other programming languages, following each respective language's best-practices and standards.
  • Through the availability of plugins and other tooling to aid in bringing existing libraries to each of the ASWF Language Interop WG sub working groups' programming languages.
  • Creating familiar APIs to their existing C++ implementations, and consistent across each of these programming languages.
  • Supporting cross-platform support across all major operating systems.

Breakdown of responsibilities

  • ASWF Language Interop WG

    • Organize the sub projects/WGs and make sure we're all on the same page with general design decisions, communication, etc.
    • Decide if a language is going to be included as an interop target (project will likely start with C, Python, and Rust, with Swift being the first language that will likely be accepted as well depending on how we decide to set the bar to pass for a language).
  • Sub Language WGs

    • Build and maintain bindings.
    • Build and maintain documentation (for example, best practices for C++ to Python).
    • Communicate with projects/support them.

Non-goals of the working group

  • Existing C++ libraries should not be modified, or modified very little.
  • Rewriting existing C++ code into these other languages.

Deliverables

furby-tm avatar May 31 '24 20:05 furby-tm

Implications for the existing Working Group for Rust Bindings.

furby-tm avatar May 31 '24 20:05 furby-tm

For some clarity, a breakdown of each of the ASWF Language Interop WG sub working groups (if this proposal is to be accepted):

Sub Working Group Status
C New WG
Python New WG
Rust Existing WG
Swift Proposed WG

furby-tm avatar Jun 04 '24 21:06 furby-tm

This proposal's presentation slides, for reference:

ASWF_Language_Interop_WG.pdf

furby-tm avatar Jun 12 '24 21:06 furby-tm

Plan is to continue the discussion here and vote at the 6/26 TAC meeting

jmertic avatar Jun 13 '24 11:06 jmertic

Approved at the TAC meeting on 20240626

jmertic avatar Jun 26 '24 20:06 jmertic

ASWF Language Interop is proposing to move to Archived stage at the May 14, 2025 TAC meeting

jmertic avatar May 13 '25 16:05 jmertic

Archival is approved.

Image

jmertic avatar May 27 '25 18:05 jmertic