On 5/9/25 16:45, Nikolaos Chatzikonstantinou wrote:
[...]
I'm worried about:
1. What mode GNU m4 opens files in; m4p always open in binary,
potentially treating carriage return differently on Windows.
2. Sneaky bugs.
The functions that I have not yet implemented are debug functions, so
they probably will not affect production m4 macros. The changeword
macro might be removed in future versions of GNU m4 and I might not
implement it at all, not sure if anyone uses it. I have not had any
benchmarks, but from roughly looking at
how long tests take I'm measuring a 100x slowdown.
Have you tried running it with PyPy? (<URL:https://pypy.org/>)
I'm hoping to
rewrite it in Rust later to address that.
Unfortunately, Rust has ... problems as a language and ecosystem. For
reasons that are partially technical and partially political, the
general view of Rust at the GNU project seems rather dim to me. (An
"AI"-assisted switch to Rust was the April Fool's joke earlier this year.)
The political problems were bad enough to spawn a Rust fork
(<URL:https://crablang.org/>) which amusingly has provided most of the
logo for the ongoing efforts to implement a Rust frontend for GCC.
(<URL:https://rust-gcc.github.io/>)
Rust should probably be considered unusable for GNU development until
that GCC frontend is complete due to one of the larger problems with
Rust: the Rust language drifts "out from underneath" existing code.
That is not acceptable at GNU, but the GCC Rust-language frontend is
expected to follow the same convention GCC uses for other languages
where the standards have evolved with time.
I believe that their first goal is to implement Rust 1.49, which gccrs
will continue to support into the indefinite future.
-- Jacob