What is the difference in Swift between ‘unowned(safe)’ and ‘unowned(unsafe)’?

From what I understand, although I can’t find a definitive source from Apple, unowned can be broken into two flavors, safe and unsafe. A bare unowned is unowned(safe): it is a specially wrapped reference which will throw an exception when a dealloced instance is referenced. The special case is unowned(unsafe): it is the Swift equivalent …

Read more

Why don’t purely functional languages use reference counting?

Relative to other managed languages like Java and C#, purely functional languages allocate like crazy. They also allocate objects of different sizes. The fastest known allocation strategy is to allocate from contiguous free space (sometimes called a “nursery”) and to reserve a hardware register to point to the next available free space. Allocation from the …

Read more