Perché le librerie di clojure riutilizzano nomi di funzioni comuni che ti obbligano allo spazio dei nomi qualificandoli? Ad esempio clojure.zip usa next, replace e remove che già esistono nel core clojure e "replace" esiste già in clojure.string.perché le librerie di clojure non tentano di utilizzare nomi univoci per nomi di funzioni comuni
Ora lo sviluppatore probabilmente userà qualche abbreviazione per lo spazio dei nomi clojure.zip così in un codice sviluppatore il clojure.zip/next sarà namespace qualificato come z/next nel codice di un'altra persona come w/next, etc Questo ti costringerà a guardare indietro per vedere ciò che l'abbreviazione dello spazio dei nomi è in realtà perché lo sviluppatore avrebbe potuto creare la sua libreria che utilizza anche la funzione "successiva"
Perché non zip-next, zip-replace, e zip-rimuovi, str-replace? O qualcosa di simile
Quindi ci sarà una "qualifica di spazio dei nomi" coerente nel codice delle persone e sarà chiaro a cosa si riferiscono queste funzioni.
Non è che ci siano centinaia di scontri tra le varie librerie. Di solito ne vedo solo due o tre. È così difficile rendere esplicitamente questi nomi unici nella libreria?
Mi piace il fatto che è possibile utilizzare un alias più breve per uno spazio dei nomi. Ti dà molta più energia, che è un tema comune in Clojure. Sebbene possa essere un problema se alcuni programmatori utilizzano alias inappropriati o alias anche più lunghi dello spazio dei nomi originale. – adamjmarkham
Non capisco davvero il tuo commento CL; ci sono molti nomi molto brevi in CL e quelli lunghi non sembrano avere a che fare con il namespacing. –
Devo ammettere che il commento proviene dalla mia frustrazione personale con un paio di librerie. Scusate CL gente, giocherò bene :-( –