“So it turns out C is a functional language too!
On the way to Strange Loop this year, John Van Enk and I were trying to find a way to write some C code that avoided dynamic (malloc) allocation. We discovered a technique that allows you to forgo the use of malloc in many common cases. It also enables very pure functional C code.
You doubt? I shall demonstrate! I will show how you can write a linked list reversal function in C using:
- No mutation!
- Linked lists, with no malloc!
And this isn’t just a trick that only works in this special case, it is quite generally applicable.