To be included in clojure.string, I think there are two very good arguments - a function is an extremely common need, and having a stdlib function can be made portable across dialects. In the words of Rich, “Clojure is a small language, and intends to remain so.” As you can see in this thread, there are plenty of add-on libs, and that is imo good.
When we last expanded clojure.string (in 1.8 via CLJ-1449), I reviewed a large corpus of Clojure, looking for the most commonly used string interop functions and narrowed it to this set, which were both very common, and a good target for both CLJ and CLJS.
My impression based on requests and watching forums is that this really did close 95% of the gap. There is always more gap of course, but it’s diminishing returns. That said, if you find particular functions that are both commonly used and great targets for portable implementations, please file a
request question at https://ask.clojure.org.
The one function I could make an argument for on perf is something like
blank? is almost always done inside a
not and this could be more efficient I think.