Переглядів 2,383
At its heart, and despite its static surface, Swift is quite a dynamic language with a rich runtime backed by descriptive metadata. With the advent of ABI stability in Swift 5, the exact layout of this metadata has been fixed in stone, meaning we can exploit its structure ourselves. This talk will provide a summary overview of Swift's new ABI. Along the way, we'll touch on low-level implementation details like the Swift calling convention, runtime type layouts, and how to read and write metadata at runtime to reflect and extend a Swift process dynamically.
About Robert Widmann ( / codafi_ )
Robert is a mathematician, programmer, and compiler engineer on sabbatical before taking a job at Apple on Swift.
---
This talk was given at the Swift Language User Group meetup on July 9 2019.