Functors, Applicatives, and Monads in Plain English

This is a no-bullshit zone

Russ Bishop
April 18, 2016

Let's learn what Monads, Applicatives, and Functors are, only instead of relying on obscure functional vocabulary or category theory we'll just, you know, use plain english instead.


Functors are containers you can call map on. That's it. Seriously.

A million words of category theory and Haskell examples to say Functors . . .

Read More

Type Erasure

It's parameters all the way down

Russ Bishop
April 11, 2016

Update: You can read even more about type erasure with lots of example code

A friend of mine @purpleyay gave a talk at try! Swift in Japan about type erasure this week last month. For those of us who didn't attend, what's the deal with type erasure anyway?

More specifically, what is type erasure in the context of Swift and Protocols . . .

Read More

Bridges of Siracusa County


Russ Bishop
April 04, 2016

We live in an imperfect world. It isn't always practical to throw out all your Objective-C code and start over. Framework authors (including Apple) are even more constrained: lots of apps aren't 100% Swift and won't ever be. Making the next version of Photos.framework only available to Swift is a non-starter.

What's a team . . .

Read More

Warning: Photos.framework may unleash Zalgo

Russ Bishop
February 27, 2016

For the most part the new Photos.framework is a refreshing replacement for the old Asset Library interface. It was so clearly built to handle the massive (and every increasing) size of photo libraries.

Sore Spots

There are a few sore spots. The first is annoying but minor: The title that Photos displays for an individual photo is not . . .

Read More

Xcode 7.3 b4, Swift 2.2

Russ Bishop
February 24, 2016

A new beta means a new compiler. Check out the official release notes for more information.

Swift 2.2

  • Lots of compiler crashes have been fixed.
  • You can use #if swift(>=x.y) checks to gate the use of compiler features. This should finally make it possible to have a single branch support multiple versions of Swift simultaneously (though . . .

Read More

Xcode 7.3 b2, Swift 2.2

Russ Bishop
February 02, 2016

The bug fixes continue to come flooding in. As always, get the full details in the official release notes.

Swift 2.2

  • Failable and throwing initializers can both exit before initializing all stored properties or calling super.init()
  • Nested C structs now import as nested Swift structs
  • @objc is now valid on enums and enum cases so you can . . .

Read More

Swift 3 Open Source

Early Christmas Present

Russ Bishop
December 03, 2015

You may have heard already but Swift is now open source! As of 9:09 AM PST the site is still choking under heavy load but the associated github repos are now public.

Grabbing the source:

Run brew install cmake ninja. Create a main directory to hold all the associated repos, then clone:

git clone swift  git  . . .

Read More

  Subscribe by Email and Never Miss a Post