From fe2b07d57ec44f51c5161d5324a3a4dc182a0759 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Sun, 25 Nov 2018 16:53:42 -0500 Subject: [PATCH] New release --- ...018-11-25-Released-Cyclone-Scheme-0.9.4.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 _posts/2018-11-25-Released-Cyclone-Scheme-0.9.4.md diff --git a/_posts/2018-11-25-Released-Cyclone-Scheme-0.9.4.md b/_posts/2018-11-25-Released-Cyclone-Scheme-0.9.4.md new file mode 100644 index 00000000..868154b4 --- /dev/null +++ b/_posts/2018-11-25-Released-Cyclone-Scheme-0.9.4.md @@ -0,0 +1,21 @@ +--- +layout: post +title: Released Cyclone Scheme 0.9.4 +excerpt: This release includes many new compiler optimizations. +--- + +Compiler Optimizations + +- Optimize recursive functions by expressing the recursive calls using C iteration. This optimization is more effective when combined with the others listed below as they collectively increase the chances that a higher-level Scheme loop may be compiled down to a single C function. These C functions can then be "called" repeatedly using a `while` loop which is more efficient at a low level than repeated function calls. +- Combine lambda functions that are only called for side effects. +- Improve inlining of primitives that work with immutable objects. +- Eliminate functions that are only used to define local variables. + +Features + +- Added a new feature `program` to `cond-expand` that is only defined when compiling a program. This allows, for example, a `.scm` file to contain a section of code that can be used to run unit tests when the file is compiled as a program. The same file can then be used in production to import code into a library. This is similar to using the `__main__` scope in a python program. + +Bug Fixes + +- Prevent GC segmentation fault on ARM platforms (Raspberry Pi 2). +