• A Little Bit of Category Theory Goes a Long Way

    Composition is the sweet spot in programming. The longtime wisdom in the object-oriented community (for those willing to listen) has been "Favor composition over inheritance." Functional programming is fundamentally compositional, and so is the internet. This talk will use category theory to unpack the how and why of composition and argue we should wholeheartedly embrace it at all levels of abstraction. Don't worry if you are intimidated by abstract math; I am a category theory n00b myself and this is a practical examination rather than a deep dive. (For Pittsburgh TechFest 2016)

  • Composition, the Essence of Simplicity: Gleanings from Category Theory and Lambda Calculus

    For Pittsburgh Functional Programming

  • Your Esoteric Benefactor: The Simple Richness of Lambda Calculus

    It's easy to think that lambda calculus is not much more than a bizarre, impractical form of abstract math, but it is absolutely foundational to programming, not only providing a theoretical basis but also a rich set of simple, practical abstractions. Good abstractions are hard to come by; there seems to be an inverse relationship between simplicity and ease, so the plain but powerful lambda is an indispensable tool to the programmer.

  • Who let algebra get funky with my data types?

    A hand-waving introduction to how data types can be mathematical. This is the version I will present at LambdaConf 2016.

  • An Even Richer Language Of Types

    Going Beyond ADTs with Dependent Types in Idris

  • Who let algebra get funky with my data types?

    A hand-waving introduction to how data types can be mathematical. This is the version I presented as an AfterDark at CodeMash 2016.

  • (Strongly Typed) Functional Programming: A Superior Paradigm?

  • It's Never Just an If Statement

    Rightly Dividing Complexity in Software

  • F# as a Medium for Functional Thinking

    The practical value of thinking functionally and expressing it in F#

  • Functional Programming is Fun and Powerful

    Thinking with functions defined by expressions applied as transformations to a set of data