Каковы переломные изменения в clojure 1.3? - PullRequest
21 голосов
/ 30 октября 2010

У меня возникли проблемы с отслеживанием списка изменений в версии 1.3 и, что наиболее важно, изменений, которые требуют от меня изменения кода.

  • Что изменилось,
  • что собирается измениться,
  • где я могу получить последние списки этих?

Ответы [ 2 ]

7 голосов
/ 30 октября 2010

Срочные изменения на дату:

  • Math ops больше не превращаются в bignums.

  • Математические операции больше не сужают результат до наименьшего типа, который может их содержать.

  • Vars больше не будет по умолчанию быть динамически привязываемым. При необходимости добавьте ^:dynamic.

6 голосов
/ 11 ноября 2010

Пара других числовых изменений:

  • Существует новый литерал для BigInteger: 5N, который равен 5 как BigInteger.
  • Правила равенства изменились (возможно, возникшие в результате изменений, упомянутых Алексом?):
    • (= 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
    • Как правило, вы можете предположить, что вам понадобится == для сравнения чисел с плавающей запятой на равенство (что, вероятно, все еще непростая задача).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...