1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 12:20:26 +02:00

Further NEWS tweaks

* NEWS: Clarify wording.
This commit is contained in:
Andy Wingo 2019-08-25 21:16:50 +02:00
parent 5284b9b9c6
commit d2bf01b0c9

25
NEWS
View file

@ -28,21 +28,24 @@ and similar.
** Interleaved internal definitions and expressions allowed ** Interleaved internal definitions and expressions allowed
It used to be that internal definitions had to precede all expressions It used to be that internal definitions had to precede all expressions
in their bodies; this restriction was relaxed in Guile 3.0. If an in their bodies. This restriction has been relaxed. If an expression
expression precedes an internal definition, it is treated as if it were precedes an internal definition, it is treated as if it were a
a definition of an unreferenced variable. This improves the readability definition of an unreferenced variable. For example, the expression
of Guile programs, as it used to be that program indentation tended to `(foo)' transforms to the equivalent of `(define _ (begin (foo) #f))',
increase needlessly to allow nested `let' and `letrec' to re-establish if it precedes other definitions.
definition contexts after initial expressions, for example for
type-checks on procedure arguments. This change improves the readability of Guile programs, as it used to be
that program indentation tended to increase needlessly to allow nested
`let' and `letrec' to re-establish definition contexts after initial
expressions, for example for type-checks on procedure arguments.
** Optimization of top-level bindings within a compilation unit ** Optimization of top-level bindings within a compilation unit
At optimization level 2 and above, Guile's compiler is now allowed to At optimization level 2 and above, Guile's compiler is now allowed to
inline definitions within a compilation unit. See "Declarative Modules" inline top-level definitions within a compilation unit. See
in the manual, for full details. This change can improve the "Declarative Modules" in the manual, for full details. This change can
performance of programs with many small top-level definitions by quite a improve the performance of programs with many small top-level
bit! definitions by quite a bit!