Attila Lendvai wrote:
I do have control: If femlisp or any other library makes a boneheaded decision that breaks my software, I can stop using it.
yes, resolving that is trivial -- once you have identified the problem.
regarding the recent discussions i'm generally baffled why it is at all a question whether to make a build software deterministic or not. in my view if there's anything in the global state that has an effect on the building of a software, anything, then it's a bug.
and if this state can be set in a way that it leaks out and influences builds later in time, then it's an ugly bug feasting on programmer nerves and time.
This would be true only if "a software" was equivalent to "an ASDF system." That is not the case. I have seen many applications that are made up of a large number of ASDF systems, because ASDF does not necessarily provide nice structures for large applications. In such application builds, you WANT state to bleed from one ASDF system to another, because these ASDF systems are not freestanding entities. Complaining that state leaks in and out of these systems is like complaining that state leaks into a closure. It's intended to leak, and that is not a bug.
If you want a strict mode that enforces the opinion you espouse above, yes, I believe that would be a valuable contribution.
If you want this to be THE ONLY WAY one can use ASDF, that will not happen while I am maintaining ASDF.
I am happy to have ASDF provide safety belts. But ASDF will not hand out traffic tickets to those who knowingly decline to use them.
I would be much happier to see this conversation direct itself towards a design for providing strict mode, rather than arguing about whether or not "strict mode" should be universally imposed. I will say it again: that will not happen.