I somehow rewrote this thing in C, send help
A year went by somehow almost without me noticing it. During
that time I was in a bit of a dark place, still am, to be
honest. I'm sorry for being MIA. To pass the time
and keep my mind from eating itself, I sat down and took the
time to get reacquainted with The C
language and implement the classic data structures using it:
- The Linked List, my old workhorse
- Counted strings ~
- The Hashmap, based on ~skeeto's arena-friendly hash-trie
(void *)
-based Arrays ~
Along with some other stuff. This is all based around Arena Allocators which
makes reasoning about memory lifetimes and cleanup almost
trivial in comparison to raw malloc()
and
free()
From there, it was just a matter of using it in a large-ish project to see how well it works in terms of usability and performance. And what better mid-to-large sized project of mine which I directly control than the static-site generator I use to render this journal?
Getting used to the test-driven development loop was certainly interesting, but being the lisper that i am, I need my interactivity. So learning how to use GDB to interactively execute C code is an absolute godsend!