¿Está bien confiar en (= m (zipmap (keys m) (vals m)))
en Clojure 1.3+?Mapas de Clojure: ¿están las llaves y los vals en el mismo orden?
Tener este comportamiento hace que para el código ligeramente más legible en algunas situaciones, por ejemplo
(defn replace-keys [smap m]
(zipmap (replace smap (keys m)) (vals m)))
vs
(defn replace-keys [smap m]
(into {} (for [[k v] m] [(smap k k) v]))
En general, no creo que sea una buena idea considerar "posición" en el caso de una estructura de datos de mapa – Ankur
En 2013, ¿se considera esto un detalle de implementación o una promesa? – ToBeReplaced