Swift ABI documentation


(quick disclaimer: I’m student and I work on thesis in which I work with Swift and this post is result of my research so far. Also I want to better myself as a developer.)

I’ve been trying to get deeper into the Swift inner working. I’m especialy interested in how the Swift works. I’ve watched Mike Ash’s video (https://academy.realm.io/posts/goto-mike-ash-exploring-swift-memory-layout/) and I’ve been reading through https://github.com/apple/swift/blob/master/docs/ABIStabilityManifesto.md. I haven’t finished reading it yet. However, I’ve finished the sections I’m the most interested in, Data Layout and Type Metadata. I’ve also read section Next Steps and that “ This document will be a living document until ABI stability is reached, ... After ABI stability is achieved, this document should be succeeded by technical specifications of Swift's ABI.” which left me confused.

I thougth that the ABI stability was reached when the Swift 5.0 was released. The documents at swift/docs/ABI are said to be outdated (and also incomplete with lot of TODOs inside) and I wasn’t able to find any such document as “Swift ABI specification”. Is it me being wrong at finding related documents? If so, would you kindly point me in the right direction? If such a document does not exist I wonder what are my options. Is the ABI documented inside some parts of the compiler’s source code or is the only option trying to understand the code itself?


1 Like

Agreed. Updated documentation on Swift’s ABI would be awesome.

This may help you:

Also this:

1 Like

Thanks for the read. Big potential for intelligent Swift applications with runtime metadata. Still needs development and work as do many parts of Swift like String.