I’m available to speak at conferences and meetups, so please feel free to drop me an email mbw234@gmail.com.

Anything you can do, I can do better

May 2017: My colleague Lisa Luo and I gave a talk at UIKonf about how we unify our foundations across iOS and Android by building off of functional programming in Swift and Kotlin.

Monoids, Predicates and Sorting Functions

April 2017: At the 2017 Functional Swift Conference in Brooklyn I spoke about small atomic units of abstractions can piece together to build surprisingly complex, yet expressive, components. In particular, I used semigroups and monoids to build an expressive algebra for predicates and sorting functions. This talk is roughly based on the article I wrote “The Algebra of Predicates and Sorting Functions”.

Finding Happiness in Functional Programming

Oct 2016: At the 2016 Functional Swift Conference in Budapest I spoke about how embracing simple, pure functions above all other abstractions has enabled my colleagues and me to build a well-tested, well-understood codebase. I first covered the basics of pure functions and the ideas of identifying effects and separating them from your functions. I then described how these ideas allowed us better our testing suites, enabled us to replace simulators and storyboards with Swift playgrounds, and ultimately a better working relationship with engineers, designers and product managers.

Lenses in Swift

Dec 2015: At the 2015 Functional Swift Conference in Brooklyn I described the basics of lenses and how to implement them in Swift.

Proof in Functions

Feb 2015: At the Brooklyn Swift Meetup I described how we can use the Swift type system to prove simple mathematical theorems. This talk coveres most of everything I discussed in my post “Proof in Functions”.

Functional Programming in a Playground

Dec 2014: At the 2014 Functional Swift Conference in Brooklyn I used Swift playgrounds as a highly interactive way for exploring functional programming ideas. In particular, I developed the ideas of transducers and show how they lead to highly composable data transformations.