All about Concurrency in Swift - Part 2: The Future

July 22, 2017

Discussions on how concurrency should be handled natively in Swift will soon start, new paradigms will be introduced and a swifty approach to concurrency will be defined. This article is an introduction to these topics, it could be useful if you plan to contribute to swift-evolution or even if you just want to experiment with something new using the recommended opensource libraries.
[Read...]

All about Concurrency in Swift - Part 1: The Present

May 7, 2017

There are a few alternatives regarding how to handle concurrency from Swift, this article will discuss everything you have at your disposal right now, to prepare the ground to the next part of this series that will discuss what is likely to come next.
[Read...]

An Update on Swift 3.1.1 For Raspberry Pi Zero/1/2/3

May 1, 2017

The current status of Swift 3.1.1 on ARM-based boards like the Raspberry Pis.
[Read...]

Building a LISP from scratch with Swift

February 5, 2017

This article describes how you can build a simple LISP, based on the 1978 article 'A Micro Manual For LISP - Not The Whole Truth' with Swift, taking advantage where possible of the features the language offers.
[Read...]

Swift 3.0.2 For Raspberry Pi Zero/1/2/3

December 30, 2016

Swift for all the Raspberry Pi boards, built on Ubuntu16.04 for RaspberryPi 2/3 and on Raspbian for the original RaspberryPis (A,B,A+,B+).
[Read...]

Unowned or Weak? Lifetime and Performance

October 27, 2016

While the usual explanation that when dealing with retain cycles you should choose between unowned or weak considering references lifetime is by now well known, sometimes you are still in doubt about which one you should actually use between the two and if defensively using only weak references is a good idea. This article helps you choose which one to use discussion about object lifetimes and weak references performance.
[Read...]

Recursive Tail Calls and Trampolines in Swift

May 5, 2016

The use of recursion can improve the overall design of your algorithms but it leaves you susceptible to stack overflows if the compiler is unable to perform specific optimizations. In this post we'll see what tail recursion and TCO are and how the use of trampolines can overcome the fact that we cannot rely on the Swift compiler performing tail call elimination.
[Read...]


This is the blog of Umberto Raimondi, you can reach me at me@this domain.

I'm also on Twitter and GitHub.

Subscribe via RSS or email.