Retropikzel's blog - 2025-07-21 - r7rs-pffi name change and release

A long time has passed since the last update to this blog. I’ve heard from the webs that this happens often to blogs. :)

First a note that previous tutorials about how to use r7rs-pffi are now obsolete.

Rename and release

I’m writing a small update about the r7rs-pffi library. Which has now been renamed to (foreign c). The new name I think is much better and works if in the future there is for example (foreign js) for Javascript, as there is LIPS, BiwaScheme and Gambit(has javascript backend). I can also see (foreign java), but there is just Kawa on the JVM so maybe thats little reduntant.

(foreign c) basic design is now ready, even though the version is not yet 1.0.0 I expect the current interface to stay. Additional things to handle structs is also something that is under construction and I’ve actually had it working at some point. But decided to not include it yet in 0.10.0 release.

Previously everything had pffi- prefix, which is now dropped.

(retropikzel system)

I also released a small library that uses (foreign c) to showcase it’s usefullness. (retropikzel system) is a library to execute shell commands. It’s very basic but the magic of it is that it works on Chibi, Chicken, Gauche, Guile, Kawa, Mosh, Racket, Sagittarius, STklos and Ypsilon. And not by having different code for each implementation but by relying on (foreign c).

Best part? It can be installed today, by you, from snow-fort.

Currently snow-fort documentation does not say it supports many of those implementations. But I added support for them so use version newer than 0.11 or build from git main branch.