Winamp Logo
Swift Unwrapped Cover
Swift Unwrapped Profile

Swift Unwrapped

English, Technology, 1 season, 93 episodes, 1 day, 22 hours, 54 minutes
About
Discussions on the Swift programming language and other projects at Swift.org
Episode Artwork

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/202128 minutes, 57 seconds
Episode Artwork

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/202044 minutes, 57 seconds
Episode Artwork

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/202027 minutes, 10 seconds
Episode Artwork

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/20201 hour, 6 minutes, 22 seconds
Episode Artwork

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/202018 minutes, 33 seconds
Episode Artwork

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/202035 minutes, 42 seconds
Episode Artwork

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/202040 minutes, 32 seconds
Episode Artwork

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/202025 minutes, 26 seconds
Episode Artwork

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/202032 minutes, 45 seconds
Episode Artwork

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/202031 minutes, 54 seconds
Episode Artwork

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/201936 minutes
Episode Artwork

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/201926 minutes, 24 seconds
Episode Artwork

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/201929 minutes, 50 seconds
Episode Artwork

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/201952 minutes, 16 seconds
Episode Artwork

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/201929 minutes, 58 seconds
Episode Artwork

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/201925 minutes, 24 seconds
Episode Artwork

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/201931 minutes, 34 seconds
Episode Artwork

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/201927 minutes, 59 seconds
Episode Artwork

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/201934 minutes, 47 seconds
Episode Artwork

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/201926 minutes, 22 seconds
Episode Artwork

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/201940 minutes, 22 seconds
Episode Artwork

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/201928 minutes, 33 seconds
Episode Artwork

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/201920 minutes, 16 seconds
Episode Artwork

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/201825 minutes, 25 seconds
Episode Artwork

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/201816 minutes, 24 seconds
Episode Artwork

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/201828 minutes, 14 seconds
Episode Artwork

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/201834 minutes, 6 seconds
Episode Artwork

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/20189 minutes, 50 seconds
Episode Artwork

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/201832 minutes, 9 seconds
Episode Artwork

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/201845 minutes, 12 seconds
Episode Artwork

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/201849 minutes, 8 seconds
Episode Artwork

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
6/11/201843 minutes, 36 seconds
Episode Artwork

60: Character Properties

Forums: https://forums.swift.org/t/pitch-character-and-string-properties/11620 https://forums.swift.org/t/adding-unicode-properties-to-unicodescalar-character/9310 Pull requests: https://github.com/apple/swift/pull/15880 https://github.com/apple/swift-evolution/pull/847 Proposals: https://gist.github.com/milseman/c8c50ed0eef0a21181b0d4eeedbad819 https://github.com/apple/swift-evolution/blob/master/proposals/0211-unicode-scalar-properties.md
5/28/201818 minutes, 3 seconds
Episode Artwork

59: Implicit Escaping of Closures

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/201824 minutes, 22 seconds
Episode Artwork

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/201816 minutes, 31 seconds
Episode Artwork

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/201840 minutes, 37 seconds
Episode Artwork

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/201819 minutes, 13 seconds
Episode Artwork

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/201824 minutes, 18 seconds
Episode Artwork

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/201823 minutes, 44 seconds
Episode Artwork

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/201821 minutes, 39 seconds
Episode Artwork

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/201822 minutes, 38 seconds
Episode Artwork

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/201832 minutes, 2 seconds
Episode Artwork

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/201818 minutes, 50 seconds
Episode Artwork

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/201847 minutes, 17 seconds
Episode Artwork

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/201833 minutes, 44 seconds
Episode Artwork

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/201820 minutes, 19 seconds
Episode Artwork

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/201815 minutes, 14 seconds
Episode Artwork

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/201826 minutes, 5 seconds
Episode Artwork

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/201811 minutes, 51 seconds
Episode Artwork

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/201824 minutes, 11 seconds
Episode Artwork

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/201813 minutes, 49 seconds
Episode Artwork

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/201823 minutes, 36 seconds
Episode Artwork

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/201721 minutes, 35 seconds
Episode Artwork

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/201726 minutes, 3 seconds
Episode Artwork

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/201723 minutes, 35 seconds
Episode Artwork

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/201722 minutes, 55 seconds
Episode Artwork

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/201719 minutes, 57 seconds
Episode Artwork

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/201733 minutes, 16 seconds
Episode Artwork

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/201722 minutes, 5 seconds
Episode Artwork

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/201718 minutes, 46 seconds
Episode Artwork

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/201722 minutes, 17 seconds
Episode Artwork

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/201725 minutes, 5 seconds
Episode Artwork

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
9/25/201731 minutes, 29 seconds
Episode Artwork

29: Notes from Ted Kremenek, Recent Proposals & Xcode 9 GM

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/201733 minutes
Episode Artwork

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/201732 minutes, 59 seconds
Episode Artwork

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/201759 minutes, 36 seconds
Episode Artwork

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/201734 minutes, 44 seconds
Episode Artwork

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/201726 minutes, 5 seconds
Episode Artwork

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/201733 minutes, 51 seconds
Episode Artwork

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/201737 minutes, 34 seconds
Episode Artwork

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/201738 minutes, 22 seconds
Episode Artwork

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/201727 minutes, 15 seconds
Episode Artwork

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/201729 minutes, 26 seconds
Episode Artwork

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/
7/10/201742 minutes, 56 seconds
Episode Artwork

18: Community Open Source Spotlight

SipHash: https://github.com/lorentey/SipHash CryptoSwift: https://github.com/krzyzanowskim/CryptoSwift Result: https://github.com/antitypical/Result Commander: https://github.com/kylef/Commander SwiftyGPIO: https://github.com/uraimo/SwiftyGPIO Stencil: https://github.com/kylef/Stencil Sourcery: https://github.com/krzysztofzablocki/Sourcery SWXMLHash: https://github.com/drmohundro/SWXMLHash YamlSwift: https://github.com/behrang/YamlSwift Yams: https://github.com/jpsim/Yams swift-lsp (in progress): https://github.com/owensd/swift-lsp
7/3/201737 minutes, 42 seconds
Episode Artwork

17: Testing Swift

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/201731 minutes, 3 seconds
Episode Artwork

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/201736 minutes, 5 seconds
Episode Artwork

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/201730 minutes, 35 seconds
Episode Artwork

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/201726 minutes, 2 seconds
Episode Artwork

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/201727 minutes, 32 seconds
Episode Artwork

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/201726 minutes, 48 seconds
Episode Artwork

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/201729 minutes, 6 seconds
Episode Artwork

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/201747 minutes, 48 seconds
Episode Artwork

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/201738 minutes, 53 seconds
Episode Artwork

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/201729 minutes, 59 seconds
Episode Artwork

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/201737 minutes, 57 seconds
Episode Artwork

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/201744 minutes, 47 seconds
Episode Artwork

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/201740 minutes, 47 seconds
Episode Artwork

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/201739 minutes, 43 seconds
Episode Artwork

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/201729 minutes, 39 seconds
Episode Artwork

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/201732 minutes, 31 seconds
Episode Artwork

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/201737 minutes, 38 seconds
Episode Artwork

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.
2/24/20172 minutes, 41 seconds