diff --git a/CHANGELOG.md b/CHANGELOG.md index bce04eef..4c7af98e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Bug Fixes - Fixed a bug in the oprimized numeric comparison operators when comparing a double with a bignum, that could lead to undefined behavior. - Fixed `make_empty_bytevector` and `make_c_opaque` parameters on `(cyclone foreign)`. +- Avoid compilation errors when a program ends with a `set!` expression. ## 0.18 - June 8, 2020 diff --git a/scheme/cyclone/transforms.sld b/scheme/cyclone/transforms.sld index 8cea6baa..4ff5d853 100644 --- a/scheme/cyclone/transforms.sld +++ b/scheme/cyclone/transforms.sld @@ -568,7 +568,7 @@ if (acc) { (program? ;; This is the main program, keep top level. ;; Use 0 here (and below) to ensure a meaningful top-level - `((begin 0 ,@(reverse exprs))) + `((begin 0 ,@(reverse exprs) (%halt 0))) ) (else ;; This is a library, keep inits in their own function