Discussions on the Swift programming language and other projects at Swift.org
92: Deinit
Paul Hudson's What's New in Swift 5.5Swift By SundellTime by Dave DeLong (mistakenly called Chronos during the show)
6/21/2021 • 28 minutes, 57 seconds
91: Concurrency, 3 years later
LinksSwift concurrency roadmapEpisode 27: Concurrency with Chris Lattner[Concurrency] Actors & actor isolation[Concurrency] Interoperability with Objective-C[Concurrency] Structured concurrency[Concurrency] Asynchronous functions[Concurrency] AsyncSequenceSwift Concurrency Proposals Dependencies GraphProtocol-based Actor Isolation: Draft #2Actors are reference types, but why classes?SponsorsAWS Amplify - AWS Amplify is a suite of tools and services for iOS developers to build full stack serverless and cloud-based mobile apps. Check out our getting started Tutorial for iOS! Go to awsamplify.info/IOSGet in TouchIf you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
12/7/2020 • 44 minutes, 57 seconds
90: Swift Atomics
LinksAnnouncement blog postKaroy LorenteyGitHub RepositoryAtomics forumHacker News DiscussionGuillaume Lessard’s existing swift-atomics repoSponsorsAWS Amplify - AWS Amplify is a suite of tools and services for iOS developers to build full stack serverless and cloud-based mobile apps. Check out our getting started Tutorial for iOS! Go to awsamplify.info/IOSGet in TouchIf you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped.
11/2/2020 • 27 minutes, 10 seconds
89: Implementing the Swift Runtime in Swift, with Jordan Rose
What’s in a Swift runtime?Swift on Mac OS 9Heap ObjectsType LayoutType MetadataUniquing CachesClass MetadataClass Metadata InitializationOther linksLayout guaranteesSteve Troughton-Smith’s BitPaint@ksherlock’s mpwAn explainer on Swift weak referencesAbout JordanTwitter @UINT_MINBelkadanCitizens’ Climate Lobby SponsorsInstabug - Get Application Performance Monitoring built for mobile apps and stay on top of your app quality with Instabug. Check them out and them them know we sent you at https://try.instabug.com/SwiftUnwrapped AWS Amplify - AWS Amplify is a suite of tools and services for iOS developers to build full stack serverless and cloud-based mobile apps. Check out our getting started Tutorial for iOS! Go to awsamplify.info/IOS Get in TouchIf you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped.
10/12/2020 • 1 hour, 6 minutes, 22 seconds
88: Swift 5.3
5.3 release processSwift for Linux distrosAWS lambda RuntimeSwift Service LifecycleSwift Cluster membershipProposals accepted/implemented in 5.3Commit history for Swift 5.3 branchMike Ash's perf PRHacking with Swift What’s New in Swift 5.3Get in TouchIf you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
9/14/2020 • 18 minutes, 33 seconds
87: Package Registries and Indexes
Swift Package IndexIntroWebsiteForumGitHubPackage ListDaveSvenCocoaPods websiteSwift Package RegistrySwift Package Registry Service PitchTweetPackage Manager Source Archive Dependencies PitchTweetMattt ThompsonGet in TouchIf you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
8/3/2020 • 35 minutes, 42 seconds
86: Tuples
SE-0282 Tuples conform to Equatable, Comparable, and HashableAcceptance: https://forums.swift.org/t/accepted-se-0283-tuples-conform-to-equatable-comparable-and-hashable/36658Review: https://forums.swift.org/t/se-0283-tuples-conform-to-equatable-comparable-and-hashable/36140Proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0283-tuples-are-equatable-comparable-hashable.mdBow: https://bow-swift.io👋 Get in TouchWe are @swift_unwrapped on twitter. Follow us, ask us a question, let us know what you think of the show! If you want to follow us individually, we're @jesse_squires and @simjp.🖤 Leave A ReviewIf you're enjoying the show. The best and easiest way to show your support is by heading over to iTunes and leaving us a review! Not only do you let us know what you like about the show, but you're also helping other Swift language folks find the show.Head over to our iTunes page to share your opinion of the show!
6/18/2020 • 40 minutes, 32 seconds
85: Swift on Windows and other news
Foundation on Windows: https://forums.swift.org/t/swift-soars-ever-higher/34036
Interoperability between Swift and C++: https://forums.swift.org/t/manifesto-interoperability-between-swift-and-c/33874
Swift playgrounds for mac: https://apps.apple.com/us/app/swift-playgrounds/id1496833156?mt=12
Swift crypto: https://swift.org/blog/crypto/
Standard Library Preview Package: https://swift.org/blog/preview-package/
Update on SE-0110 and SE-0155: https://forums.swift.org/t/update-on-se-0110-and-se-0155/33948
🙏 Thanks to today's sponsor: Square
Check out the tutorial for Square’s In-App Payments SDK for iOS on their new developer YouTube channel: youtube.com/squaredev
👋 Get in Touch
We are @swift_unwrapped on twitter. Follow us, ask us a question, let us know what you think of the show! If you want to follow us individually, we're @jesse_squires and @simjp.
🖤 Leave A Review
If you're enjoying the show. The best and easiest way to show your support is by heading over to iTunes and leaving us a review! Not only do you let us know what you like about the show, but you're also helping other Swift language folks find the show.
Head over to our iTunes page to share your opinion of the show!
3/3/2020 • 25 minutes, 26 seconds
84: Swift World Tour 2020
Magic file names: https://github.com/apple/swift-evolution/blob/master/proposals/0274-magic-file.md
Multi-pattern catch clauses
https://github.com/apple/swift-evolution/blob/master/proposals/0276-multi-pattern-catch-clauses.md
https://forums.swift.org/t/se-0276-multi-pattern-catch-clauses/32620
Road to Swift 6: https://forums.swift.org/t/on-the-road-to-swift-6/32862
👋 Get in Touch
We are @swift_unwrapped on twitter. Follow us, ask us a question, let us know what you think of the show! If you want to follow us individually, we're @jesse_squires and @simjp.
🖤 Leave A Review
If you're enjoying the show. The best and easiest way to show your support is by heading over to iTunes and leaving us a review! Not only do you let us know what you like about the show, but you're also helping other Swift language folks find the show.
Head over to our iTunes page to share your opinion of the show!
2/3/2020 • 32 minutes, 45 seconds
83: Modify Accessors
Forum post
Functional Swift conference talk
Coroutine explanation by John McCall
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
1/6/2020 • 31 minutes, 54 seconds
82: Swift's New Diagnostic Architecture
The way Swift reports compilation diagnostics like errors, warnings and fixits is about to improve in Swift 5.2.
Blog post
Forum discussion
Thanks to this episode's Sponsors
Vettery
Vettery is an online hiring marketplace that's changing the way people hire and get hired. Make a free profile, name your salary, and connect with hiring managers from top employers today.
Listeners of Swift Unwrapped can sign up on vettery.com/swiftunwrapped and get a $300 bonus if they accept a job through Vettery.
Square
Check out the new Square YouTube channel for developers. Square has SDKs and APIs to make payments and run a business.
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
12/2/2019 • 36 minutes
81: Swift Compiler Driver
Would you like some Swift in your Swift? The compiler driver is getting a shiny new implementation in Swift and there's no shortage of opportunities to contribute.
Forum discussion
Project on GitHub
Thanks to this episode's Sponsors
Clubhouse.io
Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Vettery
Vettery is an online hiring marketplace that's changing the way people hire and get hired. Make a free profile, name your salary, and connect with hiring managers from top employers today.
Listeners of Swift Unwrapped can sign up on vettery.com/swiftunwrapped and get a $300 bonus if they accept a job through Vettery.
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
11/4/2019 • 26 minutes, 24 seconds
80: Standard Library Preview Package
The Swift of tomorrow... today! The Standard Library Preview Package would allow you to try out upcoming Swift features before they officially ship with new language versions.
Proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0264-stdlib-preview-package.md
Forum: https://forums.swift.org/t/pitch-standard-library-preview-package/27202
Babeljs: https://babeljs.io
SE-0220: https://github.com/apple/swift-evolution/blob/master/proposals/0220-count-where.md
How to Read the Swift Standard Library Source: https://oleb.net/blog/2016/10/swift-stdlib-source/
Thanks to this episode's Sponsors
Clubhouse.io
Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
10/7/2019 • 29 minutes, 50 seconds
79: Swift 5.1 with Doug Gregor
Burritos: https://github.com/guillermomuntaner/Burritos
SE-0260 Library Evolution: https://github.com/apple/swift-evolution/blob/master/proposals/0260-library-evolution.md
SE-0030 Property Behaviors: https://github.com/apple/swift-evolution/blob/master/proposals/0030-property-behavior-decls.md
SE-0258 Property Wrappers: https://github.com/apple/swift-evolution/blob/master/proposals/0258-property-wrappers.md
Function Builders: https://forums.swift.org/t/function-builders/25167
SE-0244 Opaque Result Types: https://github.com/apple/swift-evolution/blob/master/proposals/0244-opaque-result-types.md
SE-0255 Implicit returns from single-expression functions: https://github.com/apple/swift-evolution/blob/master/proposals/0255-omit-return.md
SwiftUI: https://developer.apple.com/xcode/swiftui/
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
9/16/2019 • 52 minutes, 16 seconds
78: Binary Dependencies in Swift Package Manager
Forum pitch: https://forums.swift.org/t/pitch-support-for-binary-dependencies/27620
Swift ABI Stability: https://swift.org/blog/abi-stability-and-more/
Library Evolution for Stable ABIs: https://github.com/apple/swift-evolution/blob/master/proposals/0260-library-evolution.md
Thanks to this episode's Sponsors
Clubhouse.io
Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
9/2/2019 • 29 minutes, 58 seconds
77: Generic Math Functions and Approximate Equality
Proposal SE-0246
Exploring Swift's Numeric Types and Protocols
Proposal SE-0259
Proposal SE-0233
Thanks to this episode's Sponsors
Clubhouse.io
Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Instabug
Squash bugs in less than a minute with Instabug. Get a 14-days trial and their brand new t-shirt once you signup and integrate Instabug in your app.
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
8/5/2019 • 25 minutes, 24 seconds
76: Property Wrappers
Proposal SE-0258
Review threads:
First review
Second review
Third review
Blog post by Vincent Padreilles on using property wrappers
Blog post by John Sundell on The Swift 5.1 features that power SwiftUI’s API
Originally pitched in the Swift forums as "Property Behaviors" in 2015-2016
NSHipster article
Thanks to this episode's Sponsors
Clubhouse.io
Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Instabug
Squash bugs in less than a minute with Instabug. Get a 14-days trial and their brand new t-shirt once you signup and integrate Instabug in your app.
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
7/1/2019 • 31 minutes, 34 seconds
75: Swift Build Systems w/ Keith Smiley
Links
XcodeGen
Announcing Swift support in CMake
Buck
Bazel
Bazel's Apple platform rules
llbuild
Thanks to this episode's Sponsors
Sentry.io
Sentry tells you about errors in your code before your customers have a chance to encounter them.
With Sentry, you’ll see exactly how many users have been impacted by a bug, the stack trace, the commit that the error was released as part of, the engineer who wrote the line of code that is currently busted, and a lot more.
Give it a try and let them know we sent you at https://www.sentry.io/for/swift
Clubhouse.io
Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
6/2/2019 • 27 minutes, 59 seconds
74: Removing Things From Swift
Relevant Links
SE-0255: Implicit returns from single-expression functions
Tweet from Ben Cohen
Swift Forums Acceptance Post
SE-0257: Eliding commas from multiline expression lists
Swift Mint
Thanks to this episode's Sponsors
Sentry.io
Sentry tells you about errors in your code before your customers have a chance to encounter them.
With Sentry, you’ll see exactly how many users have been impacted by a bug, the stack trace, the commit that the error was released as part of, the engineer who wrote the line of code that is currently busted, and a lot more.
Give it a try and let them know we sent you at https://www.sentry.io/for/swift
Clubhouse.io
Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
5/6/2019 • 34 minutes, 47 seconds
73: UTF-8 Strings in Swift 5
Relevant Links
UTF-8 String blog post on swift.org
Piercing the String Veil post on Swift forums
SE-241 Deprecate String Index Encoded Offsets
SR-9749: The bug that led to deprecating encodedOffset
Thanks to this episode's Sponsors
Sentry.io
Sentry tells you about errors in your code before your customers have a chance to encounter them.
With Sentry, you’ll see exactly how many users have been impacted by a bug, the stack trace, the commit that the error was released as part of, the engineer who wrote the line of code that is currently busted, and a lot more.
Give it a try and let them know we sent you at https://www.sentry.io/for/swift
Clubhouse.io
Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
4/1/2019 • 26 minutes, 22 seconds
72: Pitch for Official Style Guide & Formatter for Swift
Relevant Links
Swift Forums Pitch: an Official Style Guide and Formatter for Swift
Swift Evolution PR #994
swift-format implementation
Community Tools
SwiftLint
SwiftFormat
Thanks to this episode's Sponsors
Sentry.io
Sentry tells you about errors in your code before your customers have a chance to encounter them.
With Sentry, you’ll see exactly how many users have been impacted by a bug, the stack trace, the commit that the error was released as part of, the engineer who wrote the line of code that is currently busted, and a lot more.
Give it a try and let them know we sent you at https://www.sentry.io/for/swift
Clubhouse.io
Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
3/4/2019 • 40 minutes, 22 seconds
71: Key Path Expressions as Functions
Relevant Links
Key Path Expressions as Functions: https://forums.swift.org/t/key-path-expressions-as-functions/19587
Implementation: https://github.com/apple/swift/pull/19448
Previous discussion threads:
https://forums.swift.org/t/allow-key-path-literal-syntax-in-expressions-expecting-function-type/16453
https://forums.swift.org/t/key-path-getter-promotion/11185
https://forums.swift.org/t/pitch-keypath-based-map-flatmap-filter/6266
Original "Smart Key Path" proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md
Kuery: https://github.com/kishikawakatsumi/Kuery
Thanks to this episode's Sponsors
Sentry.io
Sentry tells you about errors in your code before your customers have a chance to encounter them.
With Sentry, you’ll see exactly how many users have been impacted by a bug, the stack trace, the commit that the error was released as part of, the engineer who wrote the line of code that is currently busted, and a lot more.
Give it a try and let them know we sent you at https://www.sentry.io/for/swift
Instabug
With Instabug, your users and beta testers now can submit thorough feedback from your app by just shaking the phone, they will be able to take a screenshot and send their feedback easily.
You will receive a t-shirt with their motto 'I squash bugs for a living' if you go to instabug.com/swift, signup, and integrate the SDK.
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
2/4/2019 • 28 minutes, 33 seconds
70: SourceKit-LSP
Relevant Links
Announcement Post on Swift Forums
Open Sourcing Post on Swift Forums
GitHub Repository: apple/sourcekit-lsp
NSHipster article on Swift Development with Visual Studio Code using SourceKit-LSP
Language Server Protocol Website
Thanks to this episode's Sponsors
Sentry.io
Sentry tells you about errors in your code before your customers have a chance to encounter them.
With Sentry, you’ll see exactly how many users have been impacted by a bug, the stack trace, the commit that the error was released as part of, the engineer who wrote the line of code that is currently busted, and a lot more.
Give it a try and let them know we sent you at: https://www.sentry.io/for/swift
Clubhouse.io
Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
1/7/2019 • 20 minutes, 16 seconds
69: Result
Proposal
Forums review phase one
Forums review phase two
* Implementation
Railway Oriented Programming
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
12/3/2018 • 25 minutes, 25 seconds
68: Opaque Result Types
https://forums.swift.org/t/opaque-result-types/15645
LazyMapCollection: https://cocoacasts.com/what-is-a-lazymapcollection-in-swift
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Thank you to Instabug for sponsoring this episode!
Instabug is the simplest yet most comprehensive bug reporting and In-app feedback SDK. JP uses it at Lyft and it's proven to be a critical tool!
Now, Swift Unwrapped listeners will get a free t-shirt when they sign up at https://instabug.com/swift.
11/5/2018 • 16 minutes, 24 seconds
67: Raw Strings
SE-0200 Enhancing String Literals Delimiters to Support Raw Text
Paul Hudson’s What’s New in Swift 5 Playground
Discussion thread
Announcement thread
Implementation
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Thank you to Instabug for sponsoring this episode!
Instabug is the simplest yet most comprehensive bug reporting and In-app feedback SDK. JP uses it at Lyft and it's proven to be a critical tool!
Now, Swift Unwrapped listeners will get a free t-shirt when they sign up at https://instabug.com/swift.
10/15/2018 • 28 minutes, 14 seconds
66: Plan For Module Stability
https://forums.swift.org/t/plan-for-module-stability/14551
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Thank you to Instabug for sponsoring this episode!
Instabug is the simplest yet most comprehensive bug reporting and In-app feedback SDK. JP uses it at Lyft and it's proven to be a critical tool!
Now, Swift Unwrapped listeners will get a free t-shirt when they sign up at https://instabug.com/swift.
8/20/2018 • 34 minutes, 6 seconds
65: Literal Initialization Via Coercion
SE-0213: Literal initialization via coercion
Implementation (apple/swift#15311)
Swift evolution thread
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
7/2/2018 • 9 minutes, 50 seconds
64: Never
Never & absurd(): https://twitter.com/pteasima/status/978325590397906944
Point Free Episode #9 Algebraic Data Types: Exponents – https://www.pointfree.co/episodes/ep9-algebraic-data-types-exponents
https://twitter.com/pointfreeco
https://github.com/apple/swift-evolution/blob/master/proposals/0215-conform-never-to-hashable-and-equatable.md
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
6/25/2018 • 32 minutes, 9 seconds
63: Swift algorithms and data structures (feat. Kelvin Lau & Vincent Ngo)
Data Structures and Algorithms in Swift: https://store.raywenderlich.com/products/data-structures-and-algorithms-in-swift
Swift Algorithm Club: https://github.com/raywenderlich/swift-algorithm-club
Ben Cohen on Sorted collections: https://bugs.swift.org/browse/SR-6865
Linked list proposal: https://forums.swift.org/t/proposal-singly-and-doubly-linked-list-collections-in-standard-library/11426
Twitter:
Kelvin Lau: https://twitter.com/KelvinlauKl
Vincent Ngo: https://twitter.com/VincentNgo2
6/18/2018 • 45 minutes, 12 seconds
62: Interview with Ted Kremenek
Ted Kremenek on Twitter: https://twitter.com/tkremenek
Swift Evolution Dashboard of proposals implemented in Swift 4.2: https://apple.github.io/swift-evolution/#?version=4.2
Swift ABI Dashboard: https://swift.org/abi-stability/
ABI Stability Manifesto: https://github.com/apple/swift/blob/master/docs/ABIStabilityManifesto.md
Ole Begemann's "What's new in Swift 4.2" playground: https://github.com/ole/whats-new-in-swift-4-2
6/13/2018 • 49 minutes, 8 seconds
61: WWDC reactions with Greg Heo
This episode is a little different, where we discuss general announcements from WWDC 2018 not just limited to the Swift language. With special guest Greg Heo.
Keynote: https://www.apple.com/apple-events/june-2018/
Platforms State of the Union: https://developer.apple.com/videos/play/wwdc2018/102/
https://www.apple.com/newsroom/2018/06/apple-previews-ios-12/
https://www.apple.com/newsroom/2018/06/apple-introduces-macos-mojave/
https://www.apple.com/newsroom/2018/06/watchos-5-adds-powerful-activity-and-communications-features-to-apple-watch/
Patrick Balestra's ARKit 1.0 measurement app: https://www.youtube.com/watch?v=z7DYC_zbZCM
https://twitter.com/gregheo
https://swiftunboxed.com
Links
Forums: https://forums.swift.org/t/implicit-escaping-of-closures-via-objective-c/12025
SE-0103 Make non-escaping closures the default: https://github.com/apple/swift-evolution/blob/master/proposals/0103-make-noescape-default.md
Escaping closures explained: https://swiftunboxed.com/lang/closures-escaping-noescape-swift3/
Footgun tweet: https://twitter.com/dgregor79/status/987173055909715968
Thank you to Instabug for sponsoring this episode!
Instabug is the simplest yet most comprehensive bug reporting and In-app feedback SDK. JP uses it at Lyft and it's helped him out a bunch!
Now, Swift Unwrapped listeners will get a 20% discount on all paid plans, use promo-code: unwrapped2018
Check them out, use that promo code and get 20% off at https://instabug.com/swift
5/21/2018 • 24 minutes, 22 seconds
58: Reimplementation of Implicitly Unwrapped Optionals
Blog post on Reimplementation of Implicitly Unwrapped Optionals: https://swift.org/blog/iuo
SE-0054 Abolish ImplicitlyUnwrappedOptional type: https://github.com/apple/swift-evolution/blob/master/proposals/0054-abolish-iuo.md
Thank you to Instabug for sponsoring this episode!
Instabug is the simplest yet most comprehensive bug reporting and In-app feedback SDK. JP uses it at Lyft and it's helped him out a bunch!
Now, Swift Unwrapped listeners will get a 20% discount on all paid plans, use promo-code: unwrapped2018
Check them out, use that promo code and get 20% off at https://instabug.com/swift
Thanks Instabug!
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
5/14/2018 • 16 minutes, 31 seconds
57: Swift for TensorFlow Design Overview
https://github.com/tensorflow/swift/blob/master/docs/DesignOverview.md
https://twitter.com/chriseidhof/status/989736679417171968
https://twitter.com/chriseidhof/status/989573435968966658
https://gist.github.com/lattner/a6257f425f55fe39fd6ac7a2354d693d
https://forums.swift.org/t/pitch-3-introduce-user-defined-dynamically-callable-types/12232
https://www.tensorflow.org/
https://youtu.be/Yze693W4MaU
https://groups.google.com/a/tensorflow.org/forum/#!topic/swift/xtXCEvtDe5Q
https://www.tensorflow.org/community/swift
https://twitter.com/clattner_llvm/status/979886581371740160
Thank you to Bitrise.io for sponsoring this episode!
Bitrise is Mobile Continuous Integration and Delivery for your whole team, with dozens of integrations for your favourite services. Be sure to check out their new iOS Auto Provision step for your Xcode projects.
Check them out and let them know we sent you at Bitrise.io
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
5/7/2018 • 40 minutes, 37 seconds
56: SE-206 Hashable Enhancements
Proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0206-hashable-enhancements.md
Swift Evolution review thread & acceptance post: https://forums.swift.org/t/accepted-se-0206-hashable-enhancements/11675/115
Thank you to Bitrise.io for sponsoring this episode!
Bitrise is Mobile Continuous Integration and Delivery for your whole team, with dozens of integrations for your favourite services. Be sure to check out their new iOS Auto Provision step for your Xcode projects.
Check them out and let them know we sent you at Bitrise.io
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
4/30/2018 • 19 minutes, 13 seconds
55: SE-202 Random Unification
Proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0202-random-unification.md
Swift Evolution thread: https://forums.swift.org/t/proposal-random-unification/6626
Implementation: https://github.com/apple/swift/pull/12772
Acceptance post: https://forums.swift.org/t/accepted-se-020-random-unification/12040
Thank you to Bitrise.io for sponsoring this episode!
Bitrise is Mobile Continuous Integration and Delivery for your whole team, with dozens of integrations for your favourite services. Be sure to check out their new iOS Auto Provision step for your Xcode projects.
Check them out and let them know we sent you at Bitrise.io
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
4/23/2018 • 24 minutes, 18 seconds
54: Collection & Sequence Proposals
https://github.com/apple/swift-evolution/blob/master/proposals/0197-remove-where.md
https://github.com/apple/swift-evolution/blob/master/proposals/0203-rename-sequence-elements-equal.md
https://github.com/apple/swift-evolution/blob/master/proposals/0204-add-last-methods.md
Thank you to Bitrise.io for sponsoring this episode!
Bitrise is Mobile Continuous Integration and Delivery for your whole team, with dozens of integrations for your favourite services. Be sure to check out their new iOS Auto Provision step for your Xcode projects.
Check them out and let them know we sent you at Bitrise.io
Get in Touch
If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
4/16/2018 • 23 minutes, 44 seconds
53: Swift for TensorFlow
https://www.tensorflow.org/
https://youtu.be/Yze693W4MaU
https://groups.google.com/a/tensorflow.org/forum/#!topic/swift/xtXCEvtDe5Q
https://www.tensorflow.org/community/swift
https://twitter.com/clattner_llvm/status/979886581371740160
Thank you to Bitrise.io for sponsoring this episode!
Bitrise is Mobile Continuous Integration and Delivery for your whole team, with dozens of integrations for your favourite services. Be sure to check out their new iOS Auto Provision step for your Xcode projects.
Check them out and let them know we sent you at Bitrise.io
4/9/2018 • 21 minutes, 39 seconds
52: Package Manager Proposals
We cover two recent Swift Package Manager proposal pitches.
https://forums.swift.org/t/package-manager-extensible-build-tools/10900
https://forums.swift.org/t/package-manager-workspace/10667
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
Thank You
Thanks to this episode's sponsor, Kobiton. Go to Kobiton.com/swift and get your extra trial minutes!
4/2/2018 • 22 minutes, 38 seconds
51: Swift 4.1 w/ Doug & Ben (part 2)
Conditional conformance: https://swift.org/blog/conditional-conformance/
Generics manifesto: https://github.com/apple/swift/blob/master/docs/GenericsManifesto.md
SE-143: https://github.com/apple/swift-evolution/blob/master/proposals/0143-conditional-conformances.md
All 4.1 proposals: https://apple.github.io/swift-evolution/#?version=4.1
4.1 code size optimizations: https://swift.org/blog/osize/
Swift 4.1 release process: https://swift.org/blog/swift-4-1-release-process/
Xcode 9.3 beta 4 release notes with a more comprehensive list of what's included in Swift 4.1: https://download.developer.apple.com/Developer_Tools/Xcode_9.3_beta_4/Release_Notes_for_Xcode_9.3_beta_4.pdf
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
3/26/2018 • 32 minutes, 2 seconds
50: Swift 4.1 w/ Doug & Ben (part 1)
Conditional conformance: https://swift.org/blog/conditional-conformance/
Generics manifesto: https://github.com/apple/swift/blob/master/docs/GenericsManifesto.md
SE-143: https://github.com/apple/swift-evolution/blob/master/proposals/0143-conditional-conformances.md
All 4.1 proposals: https://apple.github.io/swift-evolution/#?version=4.1
4.1 code size optimizations: https://swift.org/blog/osize/
Swift 4.1 release process: https://swift.org/blog/swift-4-1-release-process/
Xcode 9.3 beta 4 release notes with a more comprehensive list of what's included in Swift 4.1: https://download.developer.apple.com/Developer_Tools/Xcode_9.3_beta_4/Release_Notes_for_Xcode_9.3_beta_4.pdf
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
3/19/2018 • 18 minutes, 50 seconds
49: Swift Protocol Wishlist
In Today's episode we share thoughts on Dave DeLong's "protocol wishlist" for Swift and other ideas for improving Swift's protocols.
Blogpost: https://davedelong.com/blog/2018/02/08/swift-protocols-wishlist/
Tweet thread around blog post: https://twitter.com/davedelong/status/961745088668868608
Dave DeLong on Twitter: https://twitter.com/davedelong
3/5/2018 • 47 minutes, 17 seconds
48: Google Summer Of Code 2018
Announcement on Swift Forums: https://forums.swift.org/t/swift-to-participate-in-gsoc-2018/10147
Project Ideas: https://swift.org/project-ideas/
Summer of Code: https://summerofcode.withgoogle.com/
Csmith: https://embed.cs.utah.edu/csmith/
@PracticalSwift crasher PRs: https://github.com/apple/swift/pulls?q=is%3Apr+author%3Apracticalswift+is%3Aclosed
2/26/2018 • 33 minutes, 44 seconds
47: Revamping QuickLook Playground APIs
Forum discussion: http://forums.swift.org/t/se-0198-playground-quicklook-api-revamp/9448
Proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0198-playground-quicklook-api-revamp.md
Enabling Quick Look for Custom Types: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/CustomClassDisplay_in_QuickLook/CH01-quick_look_for_custom_objects/CH01-quick_look_for_custom_objects.html
Playground Support library: https://developer.apple.com/documentation/playgroundsupport
2/19/2018 • 20 minutes, 19 seconds
46: Restricting cross-module struct initializers
Proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0189-restrict-cross-module-struct-initializers.md
Implementation: https://github.com/apple/swift/pull/12834
Forum accepted announcement: http://forums.swift.org/t/accepted-se-0189-restrict-cross-module-struct-initializers/7164
Mailing list discussion: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20171120/041478.html
2/12/2018 • 15 minutes, 14 seconds
45: Swift News January 2018
Sequence.split should have a Lazy equivalent: SR-6691
Conditional conformance swift.org blog post: https://swift.org/blog/conditional-conformance
Enforce 16-bit limit for # of function parameters, # of tuple type element: SR-6736
Xcode 9.3 beta 1: https://developer.apple.com/news/releases/?id=01242018a
Swift Playgrounds 2.0 for iPad:
release post
App Store
subscriptions
Support for fallthrough into cases with pattern variables: https://github.com/apple/swift/pull/14041
Compiler crash fix: https://github.com/apple/swift/pull/14102
Non-exhaustive enums: SE-0192
Derived Collection of Enum Cases: SE-0194
Introduce User-defined “Dynamic Member Lookup” Types: SE-0195
Compiler Diagnostic Directives: SE-0196
Adding toggle to Bool: forums discussion
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
2/5/2018 • 26 minutes, 5 seconds
44: Swift Bi-Weekly Brief
https://www.jessesquires.com/blog/swift-weekly-brief-hiatus/
https://swiftweekly.github.io/issue-101/
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
1/29/2018 • 11 minutes, 51 seconds
43: State of String
State of String: ABI, Performance, Ergonomics, and You! https://gist.github.com/milseman/bb39ef7f170641ae52c13600a512782f
https://twitter.com/Ilseman/status/951181851229483008
String Manifesto: https://github.com/apple/swift/blob/master/docs/StringManifesto.md
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
1/22/2018 • 24 minutes, 11 seconds
42: Conditional Conformance
Swift 4.1 will include support for conditional protocol conformance, and we're excited to use it!
https://swift.org/blog/conditional-conformance/
https://github.com/apple/swift/blob/master/docs/GenericsManifesto.md
https://twitter.com/dgregor79/status/936353445530910720
https://twitter.com/AirspeedSwift/status/936294841016762368
https://twitter.com/AirspeedSwift/status/936289022766333952
https://twitter.com/AirspeedSwift/status/936281530552401920
https://twitter.com/simjp/status/950452640915140609
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
1/15/2018 • 13 minutes, 49 seconds
41: Improving Compilation Performance
Graydon Hoare’s swift-dev email: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20171113/006001.html
Compiler Performance doc: https://github.com/apple/swift/blob/master/docs/CompilerPerformance.md
Brian Gesiak's swift-dev email: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20171106/005934.html
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
1/8/2018 • 23 minutes, 36 seconds
40: Dynamic Member Lookup Proposal
Introduce User-defined "Dynamic Member Lookup" Types:
First version: https://github.com/apple/swift-evolution/pull/768
Second version: https://github.com/apple/swift-evolution/pull/774
Implementations:
First version: https://github.com/apple/swift/pull/13076
Second version: https://github.com/apple/swift/pull/13361
Related "dynamic callable" proposal (gist in progress): https://gist.github.com/lattner/a6257f425f55fe39fd6ac7a2354d693d
Chris’s email to Swift Evolution: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20171113/041463.html
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
12/18/2017 • 21 minutes, 35 seconds
39: Source Compatibility Suite Woes
https://bugs.swift.org/browse/SR-4981
https://github.com/apple/swift-source-compat-suite/blob/master/projects.json
https://swift.org/source-compatibility
Questions about expectations from swift source compatibility maintainers: https://github.com/apple/swift-source-compat-suite/pull/98
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
12/11/2017 • 26 minutes, 3 seconds
38: Off to the Races
Enable core dumps: ulimit -c unlimited
Mutating functions require exclusive access:
https://twitter.com/simjp/status/928714602937905153
"Calling a mutating method on a value type is a write access that lasts for the duration of the method."
https://github.com/apple/swift-evolution/blob/master/proposals/0176-enforce-exclusive-access-to-memory.md#proposed-solution
TSan with SwiftPM: https://twitter.com/simjp/status/929140877540278272
Running TSan on CI: https://github.com/realm/SwiftLint/pull/1944
WIP Adding first-party support for tsan to SwiftPM: https://github.com/apple/swift-package-manager/pull/1390
SwiftPM Slack: https://swift-package-manager.herokuapp.com/
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
12/4/2017 • 23 minutes, 35 seconds
37: Enum Case Enumerable Proposal
Original proposal: https://github.com/apple/swift-evolution/pull/114
Latest email: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20171106/040950.html
Reply: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20171106/040951.html
Jordan Rose on over-abstraction: http://belkadan.com/blog/2017/09/Over-abstraction/
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
11/27/2017 • 22 minutes, 55 seconds
36: Swift Evolution - Current Topics & Proposals
Float80 Corrections: https://mobile.twitter.com/daniel_dunbar/status/923694549238611970
Why the Swift Server Working Group's http library doesn't have an Xcode project: https://mobile.twitter.com/daniel_dunbar/status/923691076635914240
SE-0186 Removing ownership keywords in protocols: https://github.com/apple/swift-evolution/blob/master/proposals/0186-remove-ownership-keyword-support-in-protocols.md
Either/Result type
https://github.com/apple/swift-evolution/pull/757
https://twitter.com/slava_pestov/status/925133908835835904
11/13/2017 • 19 minutes, 57 seconds
35: Performance Profiling on Linux
JP's FrenchKit talk on "Performance Profiling Swift on Linux":
Video: https://youtu.be/TWeLLTFjqXg
Slides: https://speakerdeck.com/jpsim/performance-profiling-swift-on-linux
Perf
Valgrind
Callgrind
GNU gprof
KCachegrind
FlameGraph
gprof2dot
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
10/30/2017 • 33 minutes, 16 seconds
34: Floating-Point
https://www.jessesquires.com/blog/floating-point-swift-ulp-and-epsilon/
https://speakerdeck.com/jessesquires/exploring-swifts-numeric-types-and-protocols
SE-0104: Protocol-oriented integers
SE-0113: Add integral rounding functions to FloatingPoint
SE-0067: Enhanced Floating Point Protocols
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
10/23/2017 • 22 minutes, 5 seconds
33: HTTP server v0.1.0
Server APIs Project: https://swift.org/server-apis/
Server APIs Working Group: https://swift.org/blog/server-api-workgroup/
HTTP 0.1.0:
https://github.com/swift-server/http/releases/tag/0.1.0
Docs: https://swift-server.github.io/http/
Namespacing discussion:
https://lists.swift.org/pipermail/swift-server-dev/Week-of-Mon-20170522/000466.html
https://github.com/swift-server/http/pull/7
Can file issues on the repo, no JIRA
Dedicated GitHub org: https://github.com/swift-server
Which web framework is the fastest? https://github.com/swift-server/which_is_the_fastest
Wraps a C HTTP parsing library from Node.js & NGINX: https://github.com/swift-server/http/blob/0.1.0/Sources/CHTTPParser/http_parser.c#L1-L23
Modular Swift Proposal: https://gist.github.com/CodaFi/cd66b7d70b5cd8e4e8b433fa2ace378a
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
10/16/2017 • 18 minutes, 46 seconds
32: Migrating to Swift 4
https://swift.org/migration-guide-swift4/
Using two Swift Package Manager manifest files:
https://github.com/realm/SwiftLint/blob/0.23.0/Package.swift
https://github.com/realm/SwiftLint/blob/0.23.0/Package%40swift-4.swift
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
10/9/2017 • 22 minutes, 17 seconds
31: Compile Times
Measuring Swift compile times in Xcode 9: https://www.jessesquires.com/blog/measuring-compile-times-xcode9/
Profiling your Swift compilation times: http://irace.me/swift-profiling
Guarding Against Long Compiles: http://khanlou.com/2016/12/guarding-against-long-compiles/
Type checker performance tests:
Directory: https://github.com/apple/swift/tree/master/validation-test/Sema/type_checker_perf
PR: https://github.com/apple/swift/pull/11494
Mailing list discussions:
Ben Asher: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20161003/003099.html
Mark Lacy: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20161003/003110.html
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Thanks to BuddyBuild for sponsoring this episode!
If you're ready for free a continuous integration, continuous deployment, and user feedback platform for iOS and Android development teams - give them a try at buddybuild.com and let them know we sent you!
10/2/2017 • 25 minutes, 5 seconds
30: Weak References with Mike Ash
Friday Q&A:
https://mikeash.com/pyblog/friday-qa-2017-09-22-swift-4-weak-references.html
Leave a review on iTunes:
https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203?mt=2
Chat with us at:
http://spectrum.chat/specfm/swift-unwrapped
iPhone X keynote + GM seeds for Xcode 9, Swift 4
Synthesizing Equatable and Hashable: https://github.com/apple/swift-evolution/blob/master/proposals/0185-synthesize-equatable-hashable.md
Sourcery: https://github.com/krzysztofzablocki/Sourcery
Improved pointers: https://github.com/apple/swift-evolution/blob/master/proposals/0184-unsafe-pointers-add-missing.md
Notes from Ted Kremenek
LibDispatch correction: https://twitter.com/pedantcoder/status/904951873483956225
9/18/2017 • 33 minutes
28: Refactoring Engine
Swift.org blog post on Swift Local Refactoring: https://swift.org/blog/swift-local-refactoring/
Clang-based refactoring engine: http://lists.llvm.org/pipermail/cfe-dev/2017-June/054286.html
Adding indexing support to Clangd: http://lists.llvm.org/pipermail/cfe-dev/2017-May/053869.html
Small PR demonstrating implementing a refactoring action to simplify long number literal format:
https://github.com/apple/swift/pull/11711
SR-5746: https://bugs.swift.org/browse/SR-5746
All Swift refactoring actions are defined in https://github.com/apple/swift/blob/master/include/swift/IDE/RefactoringKinds.def
Ideas for potential refactoring transformations: https://bugs.swift.org/issues/?jql=labels%3DStarterProposal%20AND%20labels%3DRefactoring%20AND%20resolution%3DUnresolved
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Thanks to BuddyBuild for sponsoring this episode: https://www.buddybuild.com/?utm_source=podcast&utm_medium=banner&utm_campaign=swift_unwrapped&utm_term=swift%20unwrapped
9/11/2017 • 32 minutes, 59 seconds
27: Concurrency with Chris Lattner
Please take a minute to leave a review on iTunes and join us on Spectrum chat if you'd like to discuss the show.
Concurrency manifesto: https://gist.github.com/lattner/31ed37682ef1576b16bca1432ea9f782
Tweet from Chris: https://twitter.com/clattner_llvm/status/898310296183357441
Ted Kremenek's email: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170814/038891.html
Chris's email: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170814/038892.html
Async/Await proposal: https://gist.github.com/lattner/429b9070918248274f25b714dcfc7619
Async/Await prototype pull request: https://github.com/apple/swift/pull/11501
Old doc on concurrency: https://github.com/apple/swift/blob/master/docs/proposals/Concurrency.rst
9/4/2017 • 59 minutes, 36 seconds
26: Swift 5 Goals
Mailing List: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170807/038645.html
Swift Evolution Readme: https://github.com/apple/swift-evolution/blob/master/README.md
Please take a minute to leave a review on iTunes (https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203) and join us on http://spectrum.chat/specfm/swift-unwrapped if you'd like to discuss the show.
8/28/2017 • 34 minutes, 44 seconds
25: ABI Stability – Calling Convention, Runtime and Standard Library
ABI Stability Manifesto: https://github.com/apple/swift/blob/master/docs/ABIStabilityManifesto.md
ABI Dashboard: https://swift.org/abi-stability
ABI Docs: https://github.com/apple/swift/tree/master/docs/ABI
Please take a minute to leave a review on iTunes (https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203) and join us on http://spectrum.chat/specfm/swift-unwrapped if you'd like to discuss the show.
8/21/2017 • 26 minutes, 5 seconds
24: ABI Stability - Mangling
Twitter thread on source stability discussion for episode 22: https://twitter.com/swift_unwrapped/status/892023116377075712
ABI Stability Manifesto: https://github.com/apple/swift/blob/master/docs/ABIStabilityManifesto.md
ABI Dashboard: https://swift.org/abi-stability
ABI Docs: https://github.com/apple/swift/tree/master/docs/ABI
Mike Ash & Gwynne Raskind Friday Q&A 2014-08-08: Swift Name Mangling: https://mikeash.com/pyblog/friday-qa-2014-08-15-swift-name-mangling.html
Please take a minute to leave a review on iTunes (https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203) and join us on http://spectrum.chat/specfm/swift-unwrapped if you'd like to discuss the show.
8/14/2017 • 33 minutes, 51 seconds
23: ABI Stability – Data Layout and Metadata
ABI Stability Manifesto: https://github.com/apple/swift/blob/master/docs/ABIStabilityManifesto.md
ABI Dashboard: https://swift.org/abi-stability
ABI Docs: https://github.com/apple/swift/tree/master/docs/ABI
Swift memory layout (Mike Ash):
Talk: https://news.realm.io/news/goto-mike-ash-exploring-swift-memory-layout/
Part 1: https://mikeash.com/pyblog/friday-qa-2014-07-18-exploring-swift-memory-layout.html
Part 2: https://www.mikeash.com/pyblog/friday-qa-2014-08-01-exploring-swift-memory-layout-part-ii.html
Please take a minute to leave a review on iTunes (https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203) and join us on http://spectrum.chat/specfm/swift-unwrapped if you'd like to discuss the show.
Thank You
Thanks to this episode's sponsor, Buddy Build: a continuous integration, continuous deployment and user feedback platform built specifically for mobile development teams. Try it out today FREE: https://www.buddybuild.com
8/7/2017 • 37 minutes, 34 seconds
22: ABI Stability – The Big Picture
ABI Stability Manifesto: https://github.com/apple/swift/blob/master/docs/ABIStabilityManifesto.md
ABI Dashboard: https://swift.org/abi-stability
ABI Docs: https://github.com/apple/swift/blob/master/docs/ABI.rst
7/31/2017 • 38 minutes, 22 seconds
21: New Proposals
Bug of the week (sandboxing!): SR-549, SR-5061
String newline escaping: SE-0182
Substring perf: SE-0183
String index overhaul: SE-0180
SPM c++ support: SE-0181
7/24/2017 • 27 minutes, 15 seconds
20: Swift Migrator
Bug of the week: https://bugs.swift.org/browse/SR-4088
Ted’s email: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20170605/004751.html
Migrator: https://github.com/apple/swift/tree/master/lib/Migrator
Migrating to Swift 4: https://swift.org/migration-guide/, https://help.apple.com/xcode/mac/current/#/deve838b19a1
7/17/2017 • 29 minutes, 26 seconds
19: WWDC Reactions
Improvement of the week: https://github.com/apple/swift-package-manager/pull/1249
Ted’s email: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20170605/004751.html
Panel: https://news.realm.io/news/wwdc-2017-swift-panel/
Xcode 9b2 release notes: http://adcdownload.apple.com/Developer_Tools/Xcode_9_beta_2/Release_Notes_for_Xcode_9_beta_2.pdf
Ole Begemman’s panel highlights: https://oleb.net/blog/2017/06/chris-lattner-wwdc-swift-panel/
Testing Swift: https://github.com/apple/swift/blob/master/docs/Testing.rst
Lit: LLVM Integrated Tester: http://llvm.org/docs/CommandGuide/lit.html
SwiftCI:
https://ci.swift.org
Announcement: https://swift.org/blog/swift-ci/
Overview: https://swift.org/continuous-integration/
Docs: https://github.com/apple/swift/blob/master/docs/ContinuousIntegration.md
Source Compatibility: https://github.com/apple/swift-source-compat-suite
Smoke Testing
Validation Testing
Benchmarking
Lint Testing
Source Compatibility Testing
Testing SIL
Swift compile time measurement: http://irace.me/swift-profiling/
Thank You
Thanks to this episode's sponsor, Buddy Build: A continuous integration, continuous deployment, and user feedback platform for iOS and Android development teams. Try it out today FREE: http://buddybuild.com
6/26/2017 • 31 minutes, 3 seconds
16: Error Handling in Swift — A History
Error Handling: https://github.com/apple/swift/blob/master/docs/ErrorHandling.rst
Rationale and Proposal: https://github.com/apple/swift/blob/master/docs/ErrorHandlingRationale.rst
Swift 2.0 blog post: https://developer.apple.com/swift/blog/?id=29
Cocoa error handling: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ErrorHandlingCocoa/ErrorHandling/ErrorHandling.html
Typed throws vs not discussed in Swift Weekly Brief #68 and #51
6/19/2017 • 36 minutes, 5 seconds
15: What's New in Swift 4 (Part 2)
What should you expect with Swift 4?
Some great new features and improvements.
Ole's Swift 4 playground: https://oleb.net/blog/2017/05/whats-new-in-swift-4-playground/
Swift Evolution Proposal SE-0165: Dictionary and Set Enhancements
Swift Evolution Proposal SE-0173: Add MutableCollection.swapAt(_:_:)
Swift Evolution Proposal SE-0176: Enforce Exclusive Access to Memory
Swift Evolution Proposal SE-0171: Reduce with inout
Swift Evolution Proposal SE-0148: Generic Subscripts
Swift Evolution Proposal SE-0170: NSNumber bridging and Numeric types
Swift Evolution Proposal SE-0156: Class and Subtype existentials
6/12/2017 • 30 minutes, 35 seconds
14: What's New in Swift 4 (Part 1)
What should you expect with Swift 4?
Some great new features and improvements.
Ole's Swift 4 playground: https://oleb.net/blog/2017/05/whats-new-in-swift-4-playground/
Swift Evolution Proposal SE-0172: One-sided Ranges
Swift Evolution Proposal SE-0168: Multi-Line String Literals
Swift Evolution Proposal SE-0163: String Revision: Collection Conformance, C Interop, Transcoding
Swift Evolution Proposal SE-0178: Add unicodeScalars property to Character
Swift Evolution Proposal SE-0169: Improve Interaction Between private Declarations and Extensions
Swift Evolution Proposal SE-0161: Smart KeyPaths: Better Key-Value Coding for Swift
Swift Evolution Proposal SE-0166: Swift Archival & Serialization
Swift Evolution Proposal SE-0167: Swift Encoders
Thank You
Thanks to this episode's sponsor, Buddy Build: A continuous integration, continuous deployment, and user feedback platform for iOS and Android development teams.
6/5/2017 • 26 minutes, 2 seconds
13: WWDC Predictions
SwiftPM iOS
SwiftPM Cross-Compilation: https://github.com/apple/swift-package-manager/pull/1098
SwiftPM Xcode
Better SwiftPM/Xcode integration: https://twitter.com/SmileyKeith/status/862444840008548352
Potential Package.swift support in Xcode
Swift Refactoring in Xcode
References to "Rename" actions in SourceKit from Xcode 8.3 https://twitter.com/simjp/status/848288462952316928
Swift Syntax Structured Editing Library: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20170206/004066.html
Improvements to Swift Playgrounds on iPad
Likely improvements to Xcode Source Extensions (refactoring extensions?)
We’re in a quiet period leading up to WWDC
Thank You
Thanks to this episode's sponsor, Kobiton: complete mobile device lab solution.
Start a 15 day free trial today at https://kobiton.com/swiftunwrapped.
5/29/2017 • 27 minutes, 32 seconds
12: Swift Evolution
Moving to Discourse, email from Ted: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170206/031657.html
Nate Cook's Discourse experiment: http://discourse.natecook.com/
Slava tweets:
https://twitter.com/slava_pestov/status/854490613575700480
https://twitter.com/slava_pestov/status/857382737669271552
Thank You
Thanks to this episode's sponsor, Kobiton: complete mobile device lab solution.
Start a 15 day free trial today at https://kobiton.com/swiftunwrapped.
5/22/2017 • 26 minutes, 48 seconds
11: Ownership Manifesto
Manifesto: https://github.com/apple/swift/blob/master/docs/OwnershipManifesto.md
TL;DR: https://gist.github.com/Gankro/1f79fbf2a9776302a9d4c8c0097cc40e
Graydon Hoare, Swift team member, creator of Rust: https://en.wikipedia.org/wiki/Rust_(programming_language)
Some work has already landed to enforce exclusivity in Swift 4:
https://github.com/apple/swift/pull/9373
https://github.com/apple/swift/pull/9198
https://github.com/apple/swift/pull/9112
Thank You
Thanks to this episode's sponsor, BuddyBuild: a continuous integration, continuous deployment, and user feedback platform for iOS and Android development teams.
Try it free today at https://www.buddybuild.com/.
5/15/2017 • 29 minutes, 6 seconds
10: The Variety Show
SE-0168: Multi-line strings
Proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0168-multi-line-string-literals.md
John Holdsworth (Injection4Xcode): https://twitter.com/Injection4Xcode
Took just over 12 months to land: https://github.com/apple/swift/pull/2275
Final PR: https://github.com/apple/swift/pull/8813
Starter Bugs to improve diagnostics: https://bugs.swift.org/browse/SR-4701
Approval Post: https://lists.swift.org/pipermail/swift-evolution-announce/2017-April/000360.html
Multi-line string literals in Objective-C: http://stackoverflow.com/questions/797318/how-to-split-a-string-literal-across-multiple-lines-in-c-objective-c
#SE-0171: Reduce with inout
https://github.com/apple/swift-evolution/blob/master/proposals/0171-reduce-with-inout.md
Rationale: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170424/036126.html
SE-0172: One-Sided Ranges
https://github.com/apple/swift-evolution/blob/master/proposals/0172-one-sided-ranges.md
Rationale: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170424/036125.html
Source Compatibility suite
Announcement: https://swift.org/blog/swift-source-compatibility-test-suite/
Swift Source Compatibility Suite: https://github.com/apple/swift-source-compat-suite
Thank You
Thanks to this episode's sponsor, PerfectlySoft. Find tutorials and other content at http://perfect.org/learn.html
5/8/2017 • 47 minutes, 48 seconds
09: String Manifesto
String Manifesto: https://github.com/apple/swift/blob/master/docs/StringManifesto.md
Chris Lattner on Swift 4 goals including String re-evaluation: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160725/025676.html
Ole Begemann:
Why String.CharacterView is not a MutableCollection: https://oleb.net/blog/2017/02/why-is-string-characterview-not-a-mutablecollection/
One for the Unicode Nerds: https://oleb.net/blog/2014/06/one-for-the-unicode-nerds/
Objc.io article on unicode: https://www.objc.io/issues/9-strings/unicode/
Unsafe API proposal: https://github.com/apple/swift/pull/7479
SipHash:
https://github.com/apple/swift/blob/master/stdlib/public/core/SipHash.swift.gyb
https://github.com/apple/swift/pull/4621
Thank You
Thanks to this episode's sponsor, PerfectlySoft. Find tutorials and other content at http://perfect.org/learn.html
5/1/2017 • 38 minutes, 53 seconds
08: Archival Serialization & Swift Encoders
SE-0166: Swift Archival & Serialization
NSCoding:
https://developer.apple.com/reference/foundation/nscoding
http://nshipster.com/nscoding/
Swift Archival & Serialization: https://github.com/apple/swift-evolution/blob/master/proposals/0166-swift-archival-serialization.md
ABI Stability Dashboard: https://swift.org/abi-stability/
SE-0167: Swift Encoders
https://github.com/apple/swift-evolution/blob/master/proposals/0167-swift-encoders.md
Semantics of Codable Types in Archives
NSValueTransformer
https://developer.apple.com/reference/foundation/nsvaluetransformer
http://nshipster.com/nsvaluetransformer/
"In the future, we may add API to allow Swift types to provide an Objective-C class to decode as, effectively allowing for user bridging across archival."
Similar to Russ Bishop’s proposal
Allow Swift types to provide custom Objective-C representations
https://github.com/apple/swift-evolution/blob/master/proposals/0058-objectivecbridgeable.md
Thank You
Thanks to this episode's sponsor, PerfectlySoft. Download the Perfect Assistant for free at http://perfect.org/en/assistant/
4/24/2017 • 29 minutes, 59 seconds
07: Access Control - The Saga Continues
Access Control Roller Coaster
First came the private/fileprivate change (SE-0025): https://github.com/apple/swift-evolution/blob/master/proposals/0025-scoped-access-level.md
Then came open (SE-0117): https://github.com/apple/swift-evolution/blob/master/proposals/0117-non-public-subclassable-by-default.md
For the last few weeks, a faction in the community has been proposing undoing it (SE-0159): https://github.com/apple/swift-evolution/blob/master/proposals/0159-fix-private-access-levels.md
Wow. Such email. Very list. https://twitter.com/swiftlybrief/status/846938309666492417
Rejection email: https://lists.swift.org/pipermail/swift-evolution-announce/2017-April/000337.html
Doug Gregor opens discussion for expanding private: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170403/034903.html
David Hart, with a new proposal from Doug’s suggestions: https://github.com/apple/swift-evolution/pull/668
http://www.jessesquires.com/thoughts-on-swift-access-control/
Modules
Features shouldn't be designed and deliberated in isolation. Decisions need to be holistic and forward-thinking. It's the project management equivalent of ABI resilience. "Design Resilience".
Robert Widmann's draft modules proposal: https://gist.github.com/CodaFi/cd66b7d70b5cd8e4e8b433fa2ace378a
fileprivate access can be recreated by creating a private "utility submodule" containing declarations of at least internal access.
###Thank You
Thanks to this episode's sponsor, PerfectlySoft. Download the Perfect Assistant for free at http://perfect.org/en/assistant/
4/17/2017 • 37 minutes, 57 seconds
06: Swift 3.1 Release & SwiftPM Improvements
Swift 3.1 Release
Official Swift 3.1 release post: https://swift.org/blog/swift-3-1-released/
Swift 3.1 was first available on Swift for iPad, not macOS 🙀
https://twitter.com/stroughtonsmith/status/844451069228994560
Anna Zaks, program analysis at Apple: https://twitter.com/zaks_anna
Visual Debugging with Xcode WWDC 2016: https://developer.apple.com/videos/play/wwdc2016/410/
ASAN: https://en.wikipedia.org/wiki/AddressSanitizer
TSAN: https://clang.llvm.org/docs/ThreadSanitizer.html
TSAN at WWDC 2016: https://developer.apple.com/videos/play/wwdc2016/412/
SPM Improvements
Package Manager Manifest API Redesign: https://github.com/apple/swift-evolution/blob/master/proposals/0158-package-manager-manifest-api-redesign.md
Package Manager Editable Packages: https://github.com/apple/swift-evolution/blob/master/proposals/0082-swiftpm-package-edit.md
Package Manager Version Pinning: https://github.com/apple/swift-evolution/blob/master/proposals/0145-package-manager-version-pinning.md
Package Manager Tools Version: https://github.com/apple/swift-evolution/blob/master/proposals/0152-package-manager-tools-version.md
Package Manager Swift Language Compatibility Version: https://github.com/apple/swift-evolution/blob/master/proposals/0151-package-manager-swift-language-compatibility-version.md
Lots of SwiftPM proposals & changes came in under the wire. Kudos to Ankit and Daniel.
Thanks to this episode's sponsor, PerfectlySoft. Download the Perfect Assistant for free at http://perfect.org/en/assistant/
4/10/2017 • 44 minutes, 47 seconds
05: Objective-C Interoperability
There's been a much stronger focus on calling ObjC from Swift than the other way around, but in this talk we'll cover both directions and the parts of the Swift language involved in the process.
ObjC Interop Overview
Nikita Lutsenko's talk: https://realm.io/news/altconf-nikita-lutsenko-objc-swift-interoperability/
NS_SWIFT_NAME
NS_SWIFT_UNAVAILABLE
NS_REFINED_FOR_SWIFT
NS_SWIFT_NOTHROW
NS_NOESCAPE
NSEXTENSIBLESTRING_ENUM
Nullability Annotations
Generic Annotations
ClangImporter (omit needless words logic lives here)
PrintAsObjC
Kevin Ballard's PR to include unavailable/deprecated/availability attributes: https://github.com/apple/swift/pull/6480
ObjC codegen via string manipulation. Very hackable.
Proposals on ObjC Interop
Referencing ObjC key-paths: https://github.com/apple/swift-evolution/blob/master/proposals/0062-objc-keypaths.md
Referencing ObjC property selectors: https://github.com/apple/swift-evolution/blob/master/proposals/0064-property-selectors.md
Referencing ObjC selector of a method: https://github.com/apple/swift-evolution/blob/master/proposals/0022-objc-selectors.md
Great API transformation: https://github.com/apple/swift-evolution/blob/master/proposals/0005-objective-c-name-translation.md
Import ObjC constants: https://github.com/apple/swift-evolution/blob/master/proposals/0033-import-objc-constants.md
Make optional requirements ObjC only: https://github.com/apple/swift-evolution/blob/master/proposals/0070-optional-requirements.md
4/3/2017 • 40 minutes, 47 seconds
04: Bridging with Objective-C
Swift has evolved since 1.x to have a fluctuating amount of magic/implicit bridging from ObjC and Foundation types, sometimes going in the opposite direction towards very explicit type conversions.
We've started seeing more of what the "steady state" looks like as Swift 3.x/4.x development matures.
In the early days, Swift users would need deep compiler internal implementation details to know which NSNumber-representable type could implicitly convert. As of SE-0139 that's a lot clearer.
The subtleties of unenforced protocol conformance semantics: https://oleb.net/blog/2016/12/protocols-have-semantics/
Proposals on bridging
New from Doug Gregor, limiting @objc inference: https://github.com/DougGregor/swift-evolution/blob/objc-inference/proposals/NNNN-objc-inference.md
NSNumber and NSValue: https://github.com/apple/swift-evolution/blob/master/proposals/0139-bridge-nsnumber-and-nsvalue.md
Optional to payload or NSNull: https://github.com/apple/swift-evolution/blob/master/proposals/0140-bridge-optional-to-nsnull.md
ObjC lightweight generics: https://github.com/apple/swift-evolution/blob/master/proposals/0057-importing-objc-generics.md
Import id as Any: https://github.com/apple/swift-evolution/blob/master/proposals/0116-id-as-any.md
NSError bridging: https://github.com/apple/swift-evolution/blob/master/proposals/0112-nserror-bridging.md
Fully eliminate implicit bridging: https://github.com/apple/swift-evolution/blob/master/proposals/0072-eliminate-implicit-bridging-conversions.md
Remove bridging conversion behavior from dynamic casts: https://github.com/apple/swift-evolution/blob/master/proposals/0083-remove-bridging-from-dynamic-casts.md
Ole Begemann on "Protocols are more than Bags of Syntax": https://oleb.net/blog/2016/12/protocols-have-semantics/
No protocol for non-user constructable types (e.g. library-vendored types) :(
Conventions are useful, even if not for technical reasons. Case study with Realm trying to buck NSError ObjC conventions: https://github.com/realm/realm-cocoa/pull/1123
3/27/2017 • 39 minutes, 43 seconds
03: Source Stability (What is a Source Breaking Change?)
Every Swift developer who has migrated code bases from Swift 1.x to 2.x, or even the more tedious 2.x to 3.x knows the pain of migrating to new Swift versions.
In this episode, we cover:
What is a source breaking change?
Almost guaranteeing that code that compiles with Swift 3.0 continues to compile with Swift 3.x and even Swift 4.x in Swift 3 mode. Why almost? Because it may be best to prevent code that never should have compiled with Swift 3.0 (i.e. compiled due to egregious bugs in the compiler) from compiling as those bugs are fixed. There are times when breaking compilation is preferable to continuing to exploit Swift bugs.
"we should try to get the “rearrange all the deckchairs” changes into Swift 3 if possible, to make Swift 3 to 4 as smooth as possible": https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160125/007737.html
Community-driven breakage ;)
Slava Pestov (@slava_pestov) found and fixed a 'horrific' Swift 3 compatibility bug. When they say Swift 3.1 will be compatible with Swift 3, they're serious. 😅
Dollar Sign
https://github.com/apple/swift-evolution/blob/master/proposals/0144-allow-single-dollar-sign-as-valid-identifier.md
Swift Weekly
Issue 39, https://swiftweekly.github.io/issue-39/
Slava Pestov changed variadic closure arguments to be @escaping by default, which is technically a source breaking change, but only for invalid code.
Issue 42, https://swiftweekly.github.io/issue-42/
Robert Widmann merged changes to reject standalone $ as identifiers, which were accidentally accepted as valid.
Issue 43, https://swiftweekly.github.io/issue-43/
Rintaro Ishizaki has submitted a pull request to fix SR-2843. In type parsing, P1 & P2.Type (new protocol syntax) was incorrect.
DougGregor fixed an unintentional source-breaking change from Swift 3 regarding implicitly-unwrapped optionals and type inference.
Minor source breaking change for sugared types: https://github.com/apple/swift/commit/4ebac86895383ad15e34de3671c6f423e96cfc98
Running the entire test suite with version 3 or 4: https://github.com/apple/swift/commit/1fcd7d725d1c23a27d4ea31e34e20f182e0b8c37
Ignored Labels for single-"Any"-argument functions
https://github.com/apple/swift/commit/30c4235193b64050f8110ef5598c7efb4501e0da
Xcode 8.2 last release for Swift 2.3!
Errata:
Tanner Nelson was behind the Type.self proposal, not Erica Sadun: https://github.com/apple/swift-evolution/blob/master/proposals/0090-remove-dot-self.md
3/20/2017 • 29 minutes, 39 seconds
02: SourceKit (Compiling by Default)
In this episode, we dive into the framework we love to hate to love: SourceKit.
We wrap up with an overview of method dispatch in Swift.
SourceKit on Linux
Swift core team is fixing compiler crashers faster than they're filed!
Slava Pestov being a driving force behind many of these fixes.
@practicalswift is basically Swift compiler fuzzing as-a-service ;)
Undoing all of @practicalswift's hard work
SourceKit home page
Process Isolation
Key contributors to SourceKit:
Brian Croom and his many SourceKit PRs to help get it linking and compiling on Linux.
Alex Blewitt and his numerous attempts at getting SourceKit compiling by default on Linux.
SR-1676: Build SourceKit on Linux
CMake homepage
swift-corelibs-libdispatch
Final PR to get SourceKit building on Linux: #5903
CODE_OWNERS.TXT
Jesse's talk at "try! Swift": Contributing to Open Source Swift
Atom Editor
Nuclide Atom Package
Sourcery codegen tool
Method Dispatch
Raizlabs' article on Method Dispatch in Swift
Chris Lattner's tweet about the article
Swift Evolution thread: Changing NSObject dispatch behavior
@NSManaged
@objc
3/13/2017 • 32 minutes, 31 seconds
01: Already & Only (Swift Open Source Year in Review)
In this episode we take a look at the first full year of open source Swift development and the first complete release cycle (for 3.0) that happened completely in the open. We reflect on where we've been and how we got here. We discuss the initial launch, Swift evolution, the "Great Swift 3 Migration", and more!
Open source announcement
First Swift.org blog post
First issue of Swift Weekly Brief
First commit to Swift
Core Team
Swift Evolution proposals
SE-0081: Move where clause to end of declaration
SE-0004: Remove the ++ and -- operators
SE-0007: Remove C-style for-loops with conditions and incrementers
Email: Winding down the Swift 3 release
Change to Swift 3 goals
Email: End of source-breaking changes for Swift 3
Generics Manifesto
ABI Stability Manifesto
Swift 2 to Swift 3 migration guide
Tooling: SourceKit
Ryan Olson, Is Apple Using Swift in iOS?, (Hacker News)
Swift Package Manager
Swift Playgrounds for iPad
3/6/2017 • 37 minutes, 38 seconds
00: And We're Live!
There are tons of podcasts out there about general Apple/iOS/macOS development but nothing specifically about only the Swift programming language.
So, we decided to make a podcast about the Swift language and a commentary on the Swift Weekly Brief. This podcast is a continuation on more details about Swift Weekly and our own thoughts on Swift news.
If you want to connect with us you can find us and reach out on twitter: JP Simard & Jesse Squires
Be sure to subscribe so you don't miss episode 01 - airing on Monday, March 6th and be sure to check out some of the other development shows that are a part of the Spec Network.