Released Cyclone Scheme 0.36.0
February 14th, 2024
Features
- Enhanced the reader to parse rationals and store them as inexact numbers.
- Add a stub for
(rationalize x y)
to(scheme base)
.
Bug Fixes
- Yorick Hardy provided a fix to
round
so that Cyclone will round to even when x is halfway between two integers, as required by R7RS. - Updated various numeric functions to properly handle numeric type conversions, including
quotient
,remainder
,numerator
,denominator
,truncate
,truncate-quotient
, and/
. - Fix
exact
to properly handle complex numbers, including raising an error when passednan
orinf
double values. - Ensure the runtime properly differentiates between
+inf.0
and-inf.0
. Thanks to jpellegrini for the bug report. - jpellegrini reported that Cyclone returns
#f
when comparing complex numbers using operators other than=
. Instead it is better to raise an error in these situations. - lassik and jpellegrini reported that
abs
was incorrectly returning the real part of a complex number argument. Modifiedabs
to properly handle complex numbers. - jpellegrini fixed
(srfi 143)
so that the following are constants instead of procedures:fx-width
,fx-greatest
, andfx-least
. - Raise an error if
odd?
oreven?
is passed a decimal number. Thanks to jpellegrini for the bug report. - Fix
read-line
to read entire lines that consist of more than 1022 bytes. Previously the function would only return partial data up to this limit. Thanks to Robby Zambito for the bug report. (include "body.scm")
inside a filepath/to/lib.sld
will look forpath/to/body.scm
, then fallback to the legacy behavior, and look for$(pwd)/body.scm
.- Pass append and prepend directories when compiling dependent libraries of a program. This prevents issues where the directories are not made available to any
include
directives within such libraries. - Updated the reader to throw an error if a number cannot be parsed, rather than returning
#f
.