2010-10-29 12 views
22

He tenido problemas para mantenerme actualizado con la lista de cambios en 1.3 y, lo que es más importante, los cambios que requieren que cambie mi código.¿Cuáles son los cambios de última hora en clojure 1.3?

  • Lo que ha cambiado,
  • lo que está a punto de cambiar,
  • donde puedo conseguir listas actualizadas de estos?
+6

woooo 1000th clojure question! –

+3

http://github.com/clojure/clojure/blob/master/changes.txt se mantiene actualizado. – MayDaniel

+1

si preguntas como esta, ¿es wiki de la comunidad? –

Respuesta

8

Rompiendo cambios hasta la fecha:

  • operaciones matemáticas ya no se promueven en bignums.

  • Las operaciones matemáticas ya no limitan el resultado al tipo más pequeño que pueda contenerlas.

  • Vars ya no será predeterminado para ser dinámicamente vinculable. Agregue ^:dynamic cuando sea necesario.

6

Un par de otros cambios numéricos:

  • Hay un nuevo literal para BigIntegers: 5N, que es 5 como BigInteger.
  • Las reglas para la igualdad han cambiado (tal vez surja como resultado de los cambios Alex menciona?):
    • (= 2 2.0) =>false, pero (== 2 2.0) =>true
    • (= 2 2M) =>false, pero (== 2 2M) =>true
    • (= 2.0 2M) =>false, pero (== 2.0 2M) =>true
    • y para mayor claridad:
      • (= 2 2N) =>true
      • (= 2 4/2) =>true
    • Por lo general, se puede asumir que necesitará == para comparar los números de punto flotante por la igualdad (que todavía es probablemente una proposición inestable).
Cuestiones relacionadas