Apologies are in order, my dear hackfriends. I must confess that I have created yet another Scheme implementation, which may seem unnecessary, but hear me out. You see, I’ve been working on a new garbage collector called Whippet for Guile, a project I co-maintain. Whippet is meant to be embedded in the project itself, eventually replacing the current GC. However, implementing a new GC is complex, and swapping them requires cautious handling. So, I decided to start small and prove that Whippet shows promise compared to the current GC. But how do you test a GC algorithm effectively? I initially tried writing benchmarks in C, but it wasn’t ideal for reflecting usage in Guile. To overcome this, I accidentally ended up creating a Scheme compiler called Whiffle, which will be discussed in more detail in tomorrow’s update. Happy hacking!
https://wingolog.org/archives/2023/11/13/i-accidentally-a-scheme