I love actors, but baking them into the language like this seems like the wrong approach to me.

The language should provide all the necessary abstractions to create an isolated context. Actors can then "just" be a default abstraction provided by the standard library.

Side note: has the Swift cross platform support improved? I was very much looking forward to using Swift as a general purpose language, but Apple didn't seem very interested in making it a true first class cross platform language. I believe IBM also dropped their "Swift for the server" efforts a while ago due to similar concerns.

While it takes some work I have successfully run Swift code on the usual suspects (iOS/Mac) as well as Windows, Android and Linux.

If you ditch Foundation and rely on C libs you are able to use it pretty much anywhere.

i'd be EXTREMELY interested in knowing more about that. I'm currently developing an app on iOS in swift, in the hope of porting the model layer to other platforms such as android (i don't mind redevelopping the UI).

i have been carefully avoiding any objective-c code so far, but i must admit i haven't been to careful with foundation dependencies.

Do you have a blog post explaining what you did and what limitations you encountered ?

I don't have any write-ups from myself. I was planning on eventually posting something, I have a lot of notes to sort through.

You can find some info by searching, there has been a few attempts to get it running on Android. Also just searching around github will net some other attempts.

The foundation dependency is the biggest problem. You can check out https://github.com/apple/swift-corelibs-foundation which gets rid of the objc runtime dependency for other platforms, though you will find yourself writing implementations for each eventually.

I would say if you are going to stay with just Android/iOS to look into maybe moving to Kotlin or C for your common layer and then call it from Swift. Kotlin multi-platform also has been improving recently.

EDIT: Also look at the Swift github, there are some docs about different platforms. https://github.com/apple/swift/blob/main/docs/Android.md