Completetly revised 0.9.4 section

This commit is contained in:
Justin Ethier 2018-11-23 23:08:26 -05:00
parent 190c4a63fe
commit ba98256ce1

View file

@ -2,16 +2,16 @@
## 0.9.4 - TBD ## 0.9.4 - TBD
Features (notes) Compiler Optimizations
code optimizations: - Optimize recursive functions by expressing the recursive calls using C iteration. This optimization is more effective when combined with the other functions listed below as those increase the chances that a loop may be compiled down to a single function which can then be "called" repeatedly using a `while` loop which is more efficient at a low level than repeated calls to C functions.
- optimize recursive functions by using C iteration - Combine lambda functions that are only called for side effects.
- combine lambda functions that are only called for side effects. - Improve inlining of primitives that work with immutable objects.
- improve inlining of primitives that work with immutable objects. - Eliminate functions that are only used to define local variables.
- eliminate functions that are only used to define local variables
true features: Features
- EXPERIMENTAL - Added a new feature `program` to `cond-expand` that is only defined when compiling a program. TODO: what about icyc?
- 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. Or the same file can be used to import code into a library. This is similar to using the `__main__` scope in a python program.
Bug Fixes Bug Fixes