¿Por qué las bibliotecas de clojure reutilizan los nombres de funciones que se producen comúnmente y que lo fuerzan a namespace calificarlos? Por ejemplo, clojure.zip usa siguiente, reemplaza y elimina que ya existe en clojure core y "replace" ya existe en clojure.string.por qué las bibliotecas clojure no intentan utilizar nombres únicos para nombres de funciones comunes
Ahora el desarrollador probablemente usará alguna abreviatura para el espacio de nombres clojure.zip , por lo que en un código de desarrollador clojure.zip/next será espacio de nombres calificado como z/siguiente en el código de otra persona como w/siguiente, etc. Esto lo forzará a mirar hacia atrás para ver cuál es la abreviatura de espacio de nombre en realidad porque el desarrollador podría haber creado su propia biblioteca que también usa la función "siguiente"
¿Por qué no zip-next, zip-replace y zip-remove, str-replace? O algo así
Luego habrá una "calificación de espacio de nombres" consistente en el código de las personas y quedará claro a qué se refieren estas funciones.
No es que haya cientos de nombres de enfrentamientos entre bibliotecas. Normalmente veo solo dos o tres. ¿Es tan difícil hacer explícitamente que estos nombres sean únicos para la biblioteca?
Me gusta el hecho de que puede usar un alias más corto para un espacio de nombres. Te da mucho más poder, que es un tema común en Clojure. Aunque puede ser un problema si algunos programadores usan alias inapropiados o incluso alias más largos que el espacio de nombres original. – adamjmarkham
Realmente no entiendo tu comentario CL; hay muchos nombres realmente cortos en CL y los largos no parecen tener que ver con el espacio de nombres. –
Debo admitir que el comentario proviene de mi frusteration personal con un par de bibliotecas. Lo siento CL amigos, voy a jugar bien :-( –