Я запускаю Clojure 1.3.0 с La Clojure в IntelliJ IDEA при чтении The Joy Of Clojure , а в разделе 4.1.3 (стр. 64) Авторы демонстрируют целочисленное переполнение с помощью следующего кода:
(+ Integer/MAX_VALUE Integer/MAX_VALUE)
;=> java.lang.ArithmeticException: integer overflow
Однако, когда я пробую его на REPL, я получаю вместо этого
user=> (+ Integer/MAX_VALUE Integer/MAX_VALUE)
4294967294
user=> Integer/MAX_VALUE
2147483647
Что здесь происходит? Почему мои целые числа добавляются правильно, а не переполняются?