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...]

Swift And C: Everything You Need to Know on Types, Pointers and more

April 7, 2016

Now that Swift is available on Linux and other OSes, there are even more situations where you could need to interact with C code from your Swift 3 application. This article will hopefully shed some light on the most non-obvious details and give you some practical examples and tips of how to interact with C APIs like the C standard library.
[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.