なぜ clojure ライブラリはよく使われる関数名を再利用して名前空間修飾を強制するのですか? たとえば、clojure.zip は、既に clojure コアに存在する next、replace、remove を使用し、「replace」は既に clojure.string に存在します。
現在、開発者はおそらく clojure.zip 名前空間に何らかの省略形を使用するため、ある開発者のコードでは clojure.zip/next は z/next として修飾された名前空間になり、別の人のコードでは w/next などになります。開発者が関数「next」を使用する独自のライブラリを作成した可能性があるため、実際の名前空間の略語を確認する
zip-next、zip-replace、および zip-remove、str-replace を使用しないのはなぜですか? またはそのようなもの
次に、人々のコードに一貫した「名前空間修飾」があり、これらの関数が何を参照しているかが明確になります。
ライブラリ間で何百もの名前の衝突があるわけではありません。通常は 2 つまたは 3 つしか表示されません。これらの名前を明示的にライブラリ固有のものにするのは難しいですか?