Guile macros - avoiding code duplication when interfacing to notmuch

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.

Managing my email with guile - interfacing to notmuch's C library

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.

Guile's Foreign Function Interface - linking to notmuch

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.

Managing my email with Guile - A shell script alternative

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.