Seeking information regarding Swift/C++ interOp gsoc2023

Hi everyone,

I'm really interested in working in the interOp project this year. If anyone has any advices on the initial procedure, proposals or how to get started on this, kindly let me know:)

~Nina Kamble
@egor.zhdan

2 Likes

Hi Nina, I'm glad to hear that you're interested in the project!

The GSoC application process involves coming up with general ideas on how to approach the project, and then writing a proposal that expresses your ideas. For this year's C++ Interop project, we suggest focusing on the Swift overlay for the C++ standard library, which is a part of Swift that makes the C++ stdlib more convenient when used from Swift.

On the technical side, the source code of the Swift overlay for the C++ standard library is located here: swift/stdlib/public/Cxx at main · apple/swift · GitHub. If you'd like to try making a simple change to the overlay, and then build the project on your local machine to see if your change took effect, that's great! Here are some docs that would help you to get started: swift/GettingStarted.md at main · apple/swift · GitHub.

One of the new overlay features we suggest working on as a part of this project is conversion mechanisms between Swift stdlib types and C++ stdlib types. For instance, the overlay already provides a conversion mechanism between C++'s std::string and Swift's String. This is quite useful in cases where e.g. a C++ library exposes a function that takes an instance of std::string as a parameter, and a Swift developer wants to call this function from Swift. Here is how the conversion is currently implemented: swift/String.swift at 9bdbd38a3c63872e90ccadc27def1569a49fff2a · apple/swift · GitHub.

That said, we don't want to limit anyone to improving this specific part of the overlay, and if you have other ideas on improving the C++ stdlib overlay that are more interesting to you, please feel free to propose those as well!

For some inspiration on the previously accepted proposals, you can take a look at the posts tagged with gsoc-20xx on the forums, e.g. Topics tagged gsoc-2022.

Feel free to ask any questions!

2 Likes

Thanks Egor! This was very helpful!

Hello Egor!

Thank you for the information!
Here is my proposal for the GSOC-2023 project!

Thank you!

Hi Nina,
The deadline for proposal submission was Apr 4th 18:00 UTC, so unless you submitted your proposal via the GSoC website by then, we won't be able to consider it this time.
Even if you haven't submitted a proposal in time, we'd love to see your contributions to Swift outside of the context of GSoC!