Released Cyclone Scheme 0.2
September 7th, 2016
Cyclone Scheme 0.2 is now available:
http://justinethier.github.io/cyclone/
Cyclone consists of a compiler and interpreter targeting as well as written in R7RS Scheme. A garbage collector inspired by Cheney on the M.T.A. is also provided, with support for native threads.
New features in this release:
- Added the following libraries from R7RS-large red edition (data structures):
- SRFI 1 list library
- SRFI 133 vector library
- SRFI 111 boxes
- SRFI 117 mutable queues
- SRFI 132 sorting library
- Added SRFI 2,
and-let* - Added
parameterizefrom section 4.2.6 of R7RS to the(scheme base)library. - Added ` let-values
andlet*-valuesto(scheme base)`. - Added
infinite?,finite?, andnan?to(scheme inexact). - Added string ports to
(scheme base)-open-input-string,open-output-string, andget-output-string. - Added bytevector ports to
(scheme base)-get-output-bytevector,open-input-bytevector, andopen-output-bytevector. - Modified
cycloneto also search the current working directory for built-in headers and libraries.
Bug fixes:
- Thanks to Mark Meyer, identified and fixed several segfaults in
writeanddisplay. - Updated
writeto display escaped character sequences (EG:\t) instead of literal characters. - Prevent C compilation errors when building a program that only contains basic primitives or a constant at the top level.
-
Fixed the compiler to allow application of a function that can take any number of arguments. For example:
((lambda test (write test)) 1 2 3 4) - Updated
evalto handle functions that take an optional number of arguments. - Updated
number->stringto omit leading zeros for binary conversions. - Fixed
applyto use the proper semantics when receiving more than one data argument. - Changed the
assocandmemberfunctions to accept an optional comparison function, and modified both families of functions to be native Scheme functions instead of C primitives. - Allow libraries to contain multiple
import,begin, andexportsections.
Thanks,
Justin
User Manual
http://justinethier.github.io/cyclone/docs/User-Manual
R7RS Compatibility
http://justinethier.github.io/cyclone/docs/Scheme-Language-Compliance
Bug Tracker
