Recent posts

Dear Elena

In honor of what would have been my youngest daughter's 20th birthday, I have published a paperback edition and reformatted the ebook of the first few months of "Dear Elena", the blog that I kept after her death. (Link to the paperback on Amazon US. The ebook is available on iBooks, Gumroad, and on Amazon's Kindle store. The ebook is available on iBooks, Gumroad, and on Amazon's Kindle store.)


With Swift 5 around the corner, we look at the list of Swift evolution proposals that are accepted and not implemented. There are six which were proposed before it was required that proposals have implementations. What will become of them?

Either is Both

We have fun implementing a Result type in Swift.

Maybe an Enun

We re-implement the Optional type using an Enum.

Maybe a List

We implement the Optional type using a List.

Failure is an Option(al)

We begin to look at alternatives to using Error.

List map/flatMap

We extend our look at Lists from map to flatMap and beyond.

Default init

We correct an earlier issue with default inits.

Building on our Foundation

We build a bunch of functionality on the left fold.


Exploring the difference between left and right folds.


We create list using an enum.

Sets (Structs)

We create a struct and move our functions inside as member methods.

Sets (Free Functions)

We build on our Set example.


Graham Lee shows us a different way to think about Sets.


An experiment in creating in public.