My last article about generic data structures in C was written to set the stage for today’s topic: A data structure that can be used in place of dynamic arrays, has stable pointers, and works well with arena allocators. It’s been independently discovered by different programmers over the years and so goes by different names. A 2001 paper called it a “levelwise-allocated pile” (bleh). Zig calls it a “Segmented List”. Then theres C++ with std::deque, which is only somewhat similar.| danielchasehooper.com
An introduction to Terminal Click: a native, cross-platform terminal rich in graphical interactions.| terminal.click
Practical libc-free threading on Linux| nullprogram.com
I write type safe generic data structures in C using a technique that I haven’t seen elsewhere1. It uses unions to associate type information with a generic data structure, but we’ll get to that. My approach works for any type of data structure: maps, arrays, binary trees… but for this article I illustrate the ideas by implementing a basic linked list. Since many people aren’t aware you can do C generics at all, I figured I’d start simple and build up to this:| danielchasehooper.com
On structuring code in an "error-free" way.| www.rfleury.com
Borrow checking, RC, GC, and the Eleven (!) Other Memory Safety Approaches| verdagon.dev
Home| nrk.neocities.org
Arena allocator tips and tricks| nullprogram.com
On the Digital Grove project—my media, community, and codebase to build an alternative computing foundation in favor of computing freedom, design, simplicity, performance, privacy, and ownership.| www.rfleury.com
A mental model for various forms of computation.| www.rfleury.com
My review of the C standard library in practice| nullprogram.com
Exploring the topic of emergence in computing, and notes on how it becomes relevant in various problems, including arena allocators.| www.rfleury.com
Despite memes suggesting otherwise, linked lists are one of the most powerful data structures in simplifying and upgrading code.| www.rfleury.com