Mikael Djurfeldt <mik...@djurfeldt.com> writes: > design a new module hierarchy, introduce aliases for module bindings, > and still supply the old module hierarchy during a few years for > backward compatibility.
Please do not do this. It is a recipe for disaster. Do you remember when Lilypond broke with Guile 2.0? How long it took to get it working with modern Guile again? This plan would cause the same — but much, much worse. Lilypond is the one tool using Guile — the single tool — which actually reigns supreme in its domain. Nothing else comes even close in quality. The tools broken by breaking things “with sufficient warning” are usually the most advanced ones. Specialized tools. The ones which rule in their domain. That people depend on. There’s something many useful things have in common: they work and need little changes. When the infrastructure these tools use intentionally breaks the tools and requires constant upkeep just to keep working, this makes the infrastructure volatile and unreliable. Such large changes promise to make the system better, but they leave it in a state of eternal semi-brokenness, because before the first breakage is fully resolved, the next part gets rewritten and it causes more breakage. And so the next breakage comes. Because doing such “let’s just change it all” steps changes the culture. Python tools had just kept working for years and years before Python 3. After the release of Python 3, they broke every few years. The culture had changed to one that accepts being volatile. Making Guile volatile would make it a dumb idea to depend on it for infrastructure. And I very much want to use Guile for my infrastructure. I reduced my reliance on Python after having to spend time again and again when my existing tools broke. Guile is becoming the replacement for it. Please don’t plan to break it. Please let us be a reliable foundation for infrastructure. Best wishes, Arne PS: If this argument doesn’t suffice for you, before you discard it, please have a look at https://www.draketo.de/software/volatile-infrastructure -- Unpolitisch sein heißt politisch sein, ohne es zu merken. draketo.de
signature.asc
Description: PGP signature