When working on the interface to notmuch I stumbled upon the case where iterating over messages and iterating over filenames produced the same code structure only changing the functions being used.
Manually creating the bindings for a sizable C program is a lot of work, also it is not very rewarding. I’m lazy and don’t want to do that. I looked around for what other options I have and I was surprised about the solution.
On the previous post I covered how I can call external programs as new processes and interact with their inputs or outputs. Here I will use directly the foreign libraries written in C using Guile’s foreign function interface.
Most of the pre-processing work of my emails was already solved with a combination of a bash script, which uses the notmuch cli and the python package afew. However, I’m learning Guile and I need a real task to solve to practice the language.