clojure-dev

dmiller 2025-02-11T22:34:34.871409Z

Does it bother anyone that (.refer *ns* 'x nil) goes into an infinite loop? (BTW, if x is already bound in *ns*, it won't go into a loop -- replacing a mapping hits a difference piece of code.) The infinite loop happens because the code dealing with the possible race condition on updating the namespace mapping stops when the .valAt on x is non-`null` . Rather hard to satisfy when you are trying to make the .valAt actually be null. Given that in the normal course of events, one would only ever hit the method Namespace.refer() via clojure.core/refer and that is not going to pass in a null value, likely no one will ever throw themselves for a loop (so to speak). Do not ask how I ran into this.

😆 3
Alex Miller (Clojure team) 2025-02-11T22:41:16.012769Z

doesn't bother me; not valid to do that

dmiller 2025-02-11T22:56:25.069259Z

That's good enough for me.