Recent Blog Posts

Guile - Heredoc

November 24, 2022

In my previous blog post titled "Literal string interpolation", I've shown how one can add a simple syntax called fstring to have variable interpolation in Guile. Today, I want to go further and incorporate a reader so one don't have to use the fstring syntax. I also want to have some kind of heredoc à la bash where users can specify if they want to trim or not whitespace.

read more ➔

A build system entirely in Guile

October 09, 2022

Who use a build system?

read more ➔

Libpatch - Trampolines cycle of life

August 07, 2022

Libpatch is a C library that can modify the control flow of a program at runtime with little overhead. To do so, many algorithms are used to find a way to replace a region of instructions with a relative call/jmp to a trampoline that will then jump to a handler that will call a user defined function -- called a probe -- before jumping to a out of line execution (OLX) buffer. This buffer will execute the replaced instructions -- emulating some if they are relative to the program counter -- before jumping back to the program.

read more ➔

Guile - Literal string interpolation

May 01, 2022

Literal string interpolation is an interesting construct that can help formatting strings in a more natural way. If you don't know what they are, have a look at PEP 498.

read more ➔

Guile - Glob patterns

March 26, 2022

Guile has built-in support for pattern matching with regular expressions. However, there's no support for globbing. Glob patterns are often use for matching pathnames with common suffixes and are easier to used compared to regexes.

read more ➔