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
roundso 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
exactto properly handle complex numbers, including raising an error when passednanorinfdouble values. - Ensure the runtime properly differentiates between
+inf.0and-inf.0. Thanks to jpellegrini for the bug report. - jpellegrini reported that Cyclone returns
#fwhen comparing complex numbers using operators other than=. Instead it is better to raise an error in these situations. - lassik and jpellegrini reported that
abswas incorrectly returning the real part of a complex number argument. Modifiedabsto 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-lineto 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.sldwill 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
includedirectives within such libraries. - Updated the reader to throw an error if a number cannot be parsed, rather than returning
#f.
