mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-21 22:59:16 +02:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
d784bfa48d
3 changed files with 19 additions and 9 deletions
12
CHANGELOG.md
12
CHANGELOG.md
|
@ -4,21 +4,23 @@
|
|||
|
||||
Bug Fixes
|
||||
|
||||
- Modified the compiler to ensure that a variable is not assigned to itself in the generated C code.
|
||||
- Fixed Windows build using MSYS2 and setup a continuous integration job for this platform to prevent breaking this build in the future.
|
||||
- Tweaked build flags to prevent spamming of compiler warnings when using Clang.
|
||||
- Modified the compiler to ensure that a variable is not assigned to itself in the generated C code.
|
||||
|
||||
## 0.11.7 - December 5, 2019
|
||||
|
||||
Bug Fixes
|
||||
|
||||
- Fixed an issue with the library path when building on Mac OS.
|
||||
- Fixed an issue with the library path when building on Mac OS.
|
||||
|
||||
## 0.11.6 - December 2, 2019
|
||||
|
||||
Features
|
||||
|
||||
- Faster record type constructors.
|
||||
- During compilation, validate the number of arguments passed to local function calls.
|
||||
- Added the `-use-unsafe-prims` compiler option to generate faster code for certain primitives by eliminating runtime safety checks.
|
||||
- Faster record type constructors.
|
||||
- During compilation, validate the number of arguments passed to local function calls.
|
||||
- Added the `-use-unsafe-prims` compiler option to generate faster code for certain primitives by eliminating runtime safety checks.
|
||||
|
||||
Bug Fixes
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@ LIBS += -ldl
|
|||
endif
|
||||
|
||||
# Compiler options
|
||||
CFLAGS ?= $(CYC_PROFILING) $(CYC_GCC_OPT_FLAGS) -fPIC -Wall -Iinclude
|
||||
BASE_CFLAGS ?= $(CYC_PROFILING) $(CYC_GCC_OPT_FLAGS) -fPIC -Wall -I$(PREFIX)/include
|
||||
CFLAGS ?= $(CYC_PROFILING) $(CYC_GCC_OPT_FLAGS) -fPIC -Wall -Wno-shift-negative-value -Iinclude
|
||||
BASE_CFLAGS ?= $(CYC_PROFILING) $(CYC_GCC_OPT_FLAGS) -fPIC -Wall -Wno-shift-negative-value -I$(PREFIX)/include
|
||||
# Used by Cyclone to compile programs, no need for PIC there
|
||||
BASE_PROG_CFLAGS ?= $(CYC_PROFILING) $(CYC_GCC_OPT_FLAGS) -Wall -I$(PREFIX)/include
|
||||
ifeq ($(OS),Darwin)
|
||||
|
|
12
README.md
12
README.md
|
@ -2,9 +2,17 @@
|
|||
|
||||
[](https://travis-ci.org/justinethier/cyclone)
|
||||
|
||||
Cyclone is a brand-new Scheme-to-C compiler that allows practical application development using R<sup>7</sup>RS Scheme. [Cheney on the MTA](https://github.com/justinethier/cyclone/raw/master/docs/research-papers/CheneyMTA.pdf) is used by Cyclone's runtime to implement full tail recursion, continuations, and generational garbage collection. In addition, the Cheney on the MTA concept has been extended to allow execution of multiple native threads. An on-the-fly garbage collector is used to manage the second-generation heap and perform major collections without "stopping the world".
|
||||
[](https://github.com/justinethier/cyclone-bootstrap)
|
||||
|
||||
Cyclone is the first compiler written entirely in the latest R<sup>7</sup>RS Scheme language standard, and the intent is to support as much of that language as possible.
|
||||
[](https://github.com/justinethier/cyclone-bootstrap)
|
||||
|
||||
[](https://github.com/justinethier/cyclone-bootstrap)
|
||||
|
||||
[](https://github.com/justinethier/cyclone-bootstrap)
|
||||
|
||||
Cyclone is a brand-new Scheme-to-C compiler with the goal of supporting real-world application development using the R<sup>7</sup>RS Scheme Language standard. We provide modern features and a stable system capable of generating fast native binaries.
|
||||
|
||||
[Cheney on the MTA](https://github.com/justinethier/cyclone/raw/master/docs/research-papers/CheneyMTA.pdf) is used by Cyclone's runtime to implement full tail recursion, continuations, and generational garbage collection. In addition, the Cheney on the MTA concept has been extended to allow execution of multiple native threads. An on-the-fly garbage collector is used to manage the second-generation heap and perform major collections without "stopping the world".
|
||||
|
||||
# Features
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue