CommunityNews

CommunityNews

How Swift achieved dynamic linking where Rust couldn't (2019)

For those who don’t follow Swift’s development, ABI stability has been one of its most ambitious projects and possibly it’s defining feature, and it finally shipped in Swift 5. The result is something I find endlessly fascinating, because I think Swift has pushed the notion of ABI stability farther than any language without much compromise.

So I decided to write up a bunch of the interesting high-level details of Swift’s ABI. This is not a complete reference for Swift’s ABI, but rather an abstract look at its implementation strategy. If you really want to know exactly how it allocates registers or mangles names, look somewhere else.

Also for context on why I’m writing this, I’m just naturally inclined to compare the design of Swift to Rust, because those are the two languages I have helped develop. Also some folks like to complain that Rust doesn’t bother with ABI stability, and I think looking at how Swift does helps elucidate why that is…

This thread was posted by one of our members via one of our news source trackers.

Popular Mac Os topics Top

AstonJ
Apple’s next OS for the Mac - what do you think? On first look, it looks pretty good! I like a lot of the new privacy features!
New
siddhant3030
I have a new MacBook Pro which I’m connecting to an external monitor. I know why it is heating but I want to know if anyone having the sa...
New
PragmaticBookshelf
There’s nothing natural about Functional Programming. It’s awkward, it feels funny, ...And then one day you start to see the world differ...
New
First poster: bot
hello (also known as helloSystem ) is a desktop system for creators with focus on simplicity, elegance, and usability. Its design follows...
New
AstonJ
I think we need a macOS rants thread - just for those little things that bug us :face_with_symbols_over_mouth: Feel free to start dedica...
New
AstonJ
Posting this for future reference :grin: Open Automater > New > Quick Action Change Workflow receives current to no input ...
New
First poster: bot
CUPERTINO, CALIFORNIA Apple today announced Apple Music is bringing industry-leading sound quality to subscribers with the addition of Sp...
New
AstonJ
Intel clearly not happy that Apple are now creating their own silicon :081:
New
AstonJ
New Macs look good! Tho I hate the notch - why does it have to be so big? Will be interested in seeing reviews of real world usage and w...
New
First poster: bot
GitHub - ExistentialAudio/BlackHole: BlackHole is a modern macOS virtual audio driver that allows applications to pass audio to other app...
New

Other popular topics Top

malloryerik
Any thoughts on Svelte? Svelte is a radical new approach to building user interfaces. Whereas traditional frameworks like React and Vue...
New
PragmaticBookshelf
“A Mystical Experience” Hero’s Journey with Paolo Perrotta @nusco Ever wonder how authoring books compares to writing articles?...
New
AstonJ
Seems like a lot of people caught it - just wondered whether any of you did? As far as I know I didn’t, but it wouldn’t surprise me if I...
New
PragmaticBookshelf
A Hero’s Journey with Chris Pine @chrispine Chris Pine, author of Learn to Program, Third Edition, discusses his journey to beco...
New
Margaret
Hello everyone! This thread is to tell you about what authors from The Pragmatic Bookshelf are writing on Medium.
1120 25042 738
New
wmnnd
Here’s the story how one of the world’s first production deployments of LiveView came to be - and how trying to improve it almost caused ...
New
OvermindDL1
Woooooooo! This is such a huge release for it, and 2 years incoming! In short, the library is now using an updated hyper backend (not j...
New
foxtrottwist
A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
New
PragmaticBookshelf
Author Spotlight: Bruce Tate @redrapids Programming languages always emerge out of need, and if that’s not always true, they’re defin...
New
PragmaticBookshelf
A Ruby-Centric Chat with Noel Rappin @noelrappin Once you start noodling around with Ruby you quickly figure out, as Noel Rappi...
New