Speaker Deck

A Type is Worth a Thousand Tests

by Manuel Chakravarty

Published October 5, 2016 in Programming

VIDEO: https://vimeo.com/191467217/3f45cbd32e (Sydney CocoaHeads, October 2016)

One of the biggest changes in the transition from Objective-C to Swift is the new type system. This change is at the heart of Swift’s language design, from optionals over value types to constrained generics, and to truly understand the language, a thorough understanding of its type system is indispensable.

In this talk, I will explain the advantages of Swift’s strong commitment to a sophisticated type system. I will illustrate the impact on language and program design through a series of examples, drawn from my experience of developing one of the first Swift-based applications published in the Mac App Store and illustrated by walking through key design issues in a simple iOS app. I will discuss why type-driven design benefits from functional programming principles, and also, how it allows us to write less tests without a loss of confidence in our code.

Presented at
- YOW! Connected 2016, Melbourne: http://connected.yowconference.com.au
- Sydney CocoaHeads, October 2016: http://www.sydneycocoaheads.com/2016/11/17/a-type-is-worth-a-thousand-tests/

A previous version was presented at Curry On 2016 in Rome: http://www.curry-on.org/2016/ (video of that somewhat shorter previous version of the talk: https://www.youtube.com/watch?v=q1Yi-WM7XqQ)