I am rather new to Swift, but from what I have read about it and the little experience I have had with it so far I can tell that I like it a lot. I am a machine learning researcher and I think I would be interested in getting a project started to develop a Swift frontend for the popular ML library PyTorch (SwifTorch?), but it seems like this would be a lot easier if/when Swift C++ interoperability is relatively advanced (since the PyTorch internals are written mostly in C++).
I'm aware that it's possible to wrap C++ libraries in pure C and then work with them from Swift, but honestly I'm not sure I or others would be willing to put the time or energy in to do that. If it's possible to simply declare Swift structs and classes that contain C++ objects as properties, and call C++ methods on those objects, then developing the frontend would be a lot more straightforward.
So all that is to say, what is the state of C++ interoperability in Swift? Is it currently usable for a project like the one I'm describing?
Thanks,
Nora
PS: I am well aware that Swift for TensorFlow is a thing, but for better or worse the ML community has been tending to shift away from TensorFlow and toward PyTorch, so I think it would be quite valuable to have a version of PyTorch for Swift— potentially a lot more people could be brought over to using Swift that way.