В #lang racket
и других языках семейства Racket у вас есть поддержка чисел с плавающей запятой и, таким образом, вы имеете обе бесконечности:
+inf.0
-inf.0
Это также верно для стандартных реализаций языков отчетов Scheme, предоставляемых Racket, таких как #!r5rs
и #!r6rs
.
Что касается стандарта Схемы, то для поддержки полной числовой башни требуется только R6RS. Последний R7RS-маленький отчет (pdf, стр. 35) гласит:
Числа положительной бесконечности, отрицательной бесконечности и NaN записываются
+inf.0
, -inf.0
и +nan.0
соответственно. NaN также может быть
написано -nan.0
. Использование знаков в письменном представлении делает
не обязательно отражает основной признак значения NaN, если оно есть.
Реализации не обязаны поддерживать эти цифры, но если
они делают, они должны делать это в целом в соответствии с IEEE 754.
Тем не менее, имплементации не требуются для поддержки сигнальных NaN,
ни предоставить способ различать различные NaN.
Таким образом, позиция такая же, как и для R5RS. Более крупный R7RS, который еще не завершен, может потребовать полной числовой вышки, как это, похоже, было обсуждено.