clojure 1.3中有哪些突破性的变化?

时间:2010-10-29 21:14:59

标签: clojure

我无法跟上1.3中的更改列表,最重要的是需要我更改代码的更改。

  • 发生了什么变化,
  • 即将发生的变化,
  • 我在哪里可以获得最新的这些列表?

2 个答案:

答案 0 :(得分:7)

更改日期:

  • 数学运算不再宣传为bignums。

  • Math ops不再将结果缩小到可以容纳它们的最小类型。

  • Vars将不再默认为可动态绑定。在需要时添加^:dynamic

答案 1 :(得分:6)

其他一些数字变化:

  • BigIntegers有一个新的文字:5N,它是5作为BigInteger。
  • 平等规则发生了变化(也许是由于Alex提到的变化而引起的?):
    • (= 2 2.0) => false,但(== 2 2.0) => true
    • (= 2 2M) => false,但(== 2 2M) => true
    • (= 2.0 2M) => false,但(== 2.0 2M) => true
    • 为清楚起见:
      • (= 2 2N) => true
      • (= 2 4/2) => true
    • 您通常可以假设您需要==来比较浮点数的相等性(这仍然可能是一个不稳定的命题)。