Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ASWF Language Interop WG #704

Open
furby-tm opened this issue May 31, 2024 · 5 comments
Open

ASWF Language Interop WG #704

furby-tm opened this issue May 31, 2024 · 5 comments
Assignees
Labels
2-annual-review Annual Review for a Project or Working Group

Comments

@furby-tm
Copy link

furby-tm commented May 31, 2024

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
Copy link
Author

furby-tm commented May 31, 2024

Implications for the existing Working Group for Rust Bindings.

@furby-tm
Copy link
Author

furby-tm commented Jun 4, 2024

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
Copy link
Author

This proposal's presentation slides, for reference:

ASWF_Language_Interop_WG.pdf

@jmertic
Copy link
Contributor

jmertic commented Jun 13, 2024

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

@jmertic
Copy link
Contributor

jmertic commented Jun 26, 2024

Approved at the TAC meeting on 20240626

@jmertic jmertic changed the title New Working Group Proposal - ASWF Language Interop WG ASWF Language Interop WG Jun 26, 2024
@jmertic jmertic moved this from Upcoming Meeting Agenda Items to Future Meeting Agenda Items in Academy Software Foundation TAC Meeting Agenda Jun 26, 2024
@jmertic jmertic added 2-annual-review Annual Review for a Project or Working Group and removed 1-new-project-wg New Project or Working Group application labels Sep 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2-annual-review Annual Review for a Project or Working Group
Projects
Status: Future Meeting Agenda Items
Development

No branches or pull requests

5 participants