Pep & Nom

home | documentation | examples | translators | download | journal | blog | all blog posts

<quote>

10 feb 2026

pondering from afar

I think that it is useful to step back from a project or an activity and just “give it time” . The subconscience works away and new ideas pop up without being beckoned. I haven't done any work on pep&nom for a few months but from time to time, things occur to me. One of these things relates to how important the C language continues to be for software that needs to run anywhere including microcontrollers. This is despite C's many drawbacks, it’s hall of horrors. The pep tool is written in C and scripts can (or could) be compiled to “standalone” C with the translation script /tr/translate.c.pss .

At one point this translation script was working satisfactorily, or at least to my satisfaction, but there a little water under the bridge now, and I need to bring this script up to date. It needs to be rewritten using the grammar and excellent improvements that can be seen in translation scripts such as /tr/nom.toperl.pss and /tr/nom.tolua.pss and I don’t think that I can use an LLM or an agent or claude or openclaw or anything similar in this case. This is the disadvantage of working in a language that you invented and which nobody appears to be enamoured of, apart from yourself.

Another idea that came to me, is that I really don’t want to do memory management in the C translation of nom scripts. Or to be more precise: I don’t want to use malloc or realloc at all. Is this a form of masochism or self-torture? No, it is just a way for the translated nom scripts to run on microcontrollers. So I do have to do memory management for the tape array because the strings on the tape grow and grow and grow, and they are supposed to. But that grow in fairly predictable ways, in that the “low” cells of the tape get bigger and bigger and the “high” cells cease to be relevant.

This predictability encourages me to think that I can hand-code some memory management for the tape array by swapping and juggling and coallescing pointers to string buffers.

If I can fix the problem with the spacebar on this old Asus laptop which is running MX linux quite happily, then all will become fruitful and straightforward...