cyclone/_posts/2017-02-10-Released-Cyclone-Scheme-0.3.4.md
2017-02-10 23:38:16 +00:00

51 lines
2 KiB
Markdown

---
layout: post
title: Released Cyclone Scheme 0.3.4
excerpt: Cyclone Scheme 0.3.4 is now available.
---
Features
- Koz Ross added implementations of the following SRFI's:
- SRFI 28 - Basic format strings
- SRFI 60 - Integers as bits
- SRFI 121 - Generators
- Allow a program to have more than one `import` declaration. A program can now also use `cond-expand` to selectively expand `import` declarations.
- Added the `-A` and `-I` compiler options from SRFI 138 to `cyclone`:
> `-A directory`
>
> Append directory to the list of directories that are searched in order to locate imported libraries.
>
> `-I directory`
>
> Prepend directory to the list of directories that are searched in order to locate imported libraries.
- Added the `-CP`, `-CE`, and `-CL` compiler options to allow passing arbitrary flags to the C compiler:
> `-CP cc-commands`
>
> Specify a custom command line for the C compiler to compile a program module. See Makefile.config for an example of how to construct such a command line.
>
> `-CE cc-commands`
>
> Specify a custom command line for the C compiler to compile an executable.
>
> `-CL cc-commands`
>
> Specify a custom command line for the C compiler to compile a library module.
- Updated the garbage collector to enhance performance for programs with a high allocation rate, and to scale better to multiple concurrent threads.
- Improved error handling by `display` and `write`.
- Removed the `make_int` C macro which was deprecated and could cause problems when used in FFI functions.
- Added a `with-handler` exception handler form based on the syntax from Bigloo.
Bug Fixes
- Thanks to Koz Ross, `equal?` has been updated to check bytevectors for deep equality.
- Prevent crashes when allocating large bytevectors.
- Display characters such as `#\space` correctly when output via `write`.
- Thanks to Seth Alves, removed unnecessary include of `ck_string.h` which is not provided in older versions of `libck`.