Swift Quickie: MirrorType Extension
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 . . .
Swift 2: SIMD
Single Instruction, Multiple Awesome
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 . . .
Swift 2, Beta 2
Quick Recap
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 . . .
Swift 2
The overview
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. - . . .
On Being a Less Horrible Monster
Reabstraction eats the world
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 . . .
On Being a Monster
Don't do this. Seriously.
Edit: There are some important developments, please make sure you check them out.. You shouldn't have tried to use this code before but now it's just completely unnecessary.
Original:
This is horrible and you should never never do this under any circumstances. There are plenty of bear traps in software engineering. . . .
More Swift Attributes
Use this one weird trick
Swift has a variety of little documented (or undocumented) attributes just sitting there waiting to be used. Let's look at a few of them:
@inline
This attribute gives the compiler inlining hints. The valid values are __always
and never
. I don't think I'd use this one (especially __always
) unless I was absolutely . . .