A few months ago, I spoke at Swift Summit in San Francisco. The conference has a reputation for providing high-quality talks, and this year was no different. Fortunately, I was able to see nearly all of the talks and not a single one disappointed me. It was such a great conference. The video and full transcript of my talk are now available. The videos of the other talks will be coming online over the next few weeks. I would recommend watching all of them!

Slides and code

You can find my slides on Speaker Deck and the code on GitHub. Note that the code presented in the talk is highly simplified to keep it readable and digestible. Some of the names of protocols and functions are slightly different, too. If you have any feedback, comments, or questions about the code or about the talk itself, please let me know. I’d love to hear your thoughts!


All programming languages have their own “personality” and encourage certain paradigms. In Swift, this is expressed through protocols and a focus on value types. As a community, we convey this by describing code as being “swifty” or not. In this talk, we’ll examine how we can push the limits of protocol-oriented programming (and thus, the limits of the Swift type-checker) by building a generic, protocol-oriented (“swifty”) data source framework.

Pushing the limits of protocol-oriented programming