# Type & Self

### Way too meta

August 19, 2015

What about Swift? If you've looked closely at the Swift Language Reference you'll see two short paragraphs describing SomeClass.self and SomeClass.Type, a short example (that doesn't address Type at all), and that's it.

## Meta

In Swift, all types have metatypes, not . . .

# Swift 2, Beta 5

August 06, 2015

Here is a quick rundown of some of the changes in Beta 5 posted today. For the full details as always check out the release notes

• Structs and classes can conform to ErrorType
• Non-failable initializers can now chain to failable initializers by using !
• Debug builds should have better performance due to using pre-specialized generics in the . . .

# Swift Quickie: MirrorType Extension

July 23, 2015

edit: the Mirror struct now has a children property that you can indeed iterate over so this isn't really applicable anymore but the sequence stuff is still relevant. You can check out Rob Napier's post about AnySequence for more info.

I've been playing with the new reflection API in Swift 2 and found one constant annoyance:  . . .

# Swift 2: SIMD

### Single Instruction, Multiple Awesome

June 24, 2015

Swift 2 brings updated support for SIMD (Single Instruction Multiple Data). What exactly does that mean?

## SIMD Primer

Each CPU vendor has their own unique snowflake versionº but the premise is the same: process data in parallel chunks. Each SIMD instruction operates on a group of values organized into what are called "lanes". . . .

# Swift 2, Beta 2

### Quick Recap

June 23, 2015

A quick recap for those who haven't parsed the release notes yet:

## New Features

• Enum cases with values can be used as a function; basically the compiler automatically creates a function that accepts parameters matching the case's values and returns that enum case with the values filled in.
• Non-mutating methods of structs, enums, and . . .

# Swift 2

### The overview

June 19, 2015

As everyone is no doubt aware Swift 2 was announced at WWDC. I'm going to do a series of posts on the changes but for now let's just cover the major points:

## General changes

• Global and free-standing functions now follow the same parameter label rules as methods. The # external name syntax is gone.
• Multi-payload enums basically allow . . .

# On Being a Less Horrible Monster

### Reabstraction eats the world

June 09, 2015

This is an update on a previous post.

First, @jckarter pointed out that swift_func_object is an artifact of the implementation. Swift is reabstracting the function to promote it to the most generic form (it's how a ()->Int can be passed to something expecting ()->Void). It turns out that Swift lifts functions to the maximally . . .