Swift Unwrapped: Recent Episodes

JP Simard, Jesse Squires, Spec Network, Inc.

Discussions on the Swift programming language and other projects at Swift.org

View Details

  • Paul Hudson's What's New in Swift 5.5
  • Swift By Sundell
  • Time by Dave DeLong (mistakenly called Chronos during the show)

View Details

Links* Swift concurrency roadmap * Episode 27: Concurrency with Chris Lattner * [Concurrency] Actors & actor isolation * [Concurrency] Interoperability with Objective-C * [Concurrency] Structured concurrency * [Concurrency] Asynchronous functions * [Concurrency] AsyncSequence * Swift Concurrency Proposals Dependencies Graph * Protocol-based Actor Isolation: Draft #2 * Actors are reference types, but why classes?

Sponsors 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.

View Details

Links* Announcement blog post * Karoy Lorentey * GitHub Repository * Atomics forum * Hacker News Discussion * Guillaume Lessard’s existing swift-atomics repo

Sponsors 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.

View Details

What’s in a Swift runtime?* Swift on Mac OS 9 * Heap Objects * Type Layout * Type Metadata * Uniquing Caches * Class Metadata * Class Metadata Initialization

Other links* Layout guarantees * Steve Troughton-Smith’s BitPaint * @ksherlock’s mpw * An explainer on Swift weak references

About Jordan* Twitter @UINT_MIN * Belkadan * Citizens’ Climate Lobby

Sponsors Instabug - 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.

View Details

  • 5.3 release process
  • Swift for Linux distros
  • AWS lambda Runtime
  • Swift Service Lifecycle
  • Swift Cluster membership
  • Proposals accepted/implemented in 5.3
  • Commit history for Swift 5.3 branch
  • Mike Ash's perf PR
  • Hacking with Swift What’s New in Swift 5.3

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

View Details

  • Swift Package Index
    • Intro
    • Website
    • Forum
    • GitHub
    • Package List
    • Dave
    • Sven
    • CocoaPods website
  • Swift Package Registry
    • Swift Package Registry Service Pitch
      • Tweet
    • Package Manager Source Archive Dependencies Pitch
      • Tweet
    • Mattt Thompson

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

View Details

SE-0282 Tuples conform to Equatable, Comparable, and Hashable* Acceptance: https://forums.swift.org/t/accepted-se-0283-tuples-conform-to-equatable-comparable-and-hashable/36658 * Review: https://forums.swift.org/t/se-0283-tuples-conform-to-equatable-comparable-and-hashable/36140 * Proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0283-tuples-are-equatable-comparable-hashable.md

Bow: 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!

View Details

  • 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!

View Details

  • 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!

View Details

  • 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

View Details

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

View Details

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

View Details

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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

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

View Details

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

View Details

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

View Details

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

View Details

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

View Details

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

View Details

  • 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

View Details

  • 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.

View Details

  • 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.

View Details

  • 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.

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

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

View Details

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

View Details

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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

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!

View Details

  • 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

View Details

  • 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

View Details

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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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!

View Details

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

View Details

  • 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

View Details

  • 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

View Details

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

View Details

  • 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.

View Details

  • 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.

View Details

  • 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.

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

  • 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/

View Details

  • 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

View Details

  • 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

View Details

  • 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

View Details

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

View Details

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.

View Details

  • 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.

View Details

  • 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.

View Details

  • 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/.

View Details

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

View Details

  • 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

View Details

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/

View Details

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/

View Details

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/

View Details

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

View Details

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

View Details

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

View Details

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

View Details

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

View Details

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.