guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 01/03: Minor NEWS tweaks


From: Andy Wingo
Subject: [Guile-commits] 01/03: Minor NEWS tweaks
Date: Fri, 11 Feb 2022 02:38:04 -0500 (EST)

wingo pushed a commit to branch main
in repository guile.

commit 3d699932952c795f877a6e84b27c645d488ced50
Author: Andy Wingo <wingo@pobox.com>
AuthorDate: Thu Feb 10 20:54:16 2022 +0100

    Minor NEWS tweaks
    
    * NEWS: Minor tweaks.
---
 NEWS | 33 +++++++++++++++------------------
 1 file changed, 15 insertions(+), 18 deletions(-)

diff --git a/NEWS b/NEWS
index 7b2225b22..288db26bf 100644
--- a/NEWS
+++ b/NEWS
@@ -15,7 +15,7 @@ Although historically Guile has treated modules as glorified 
hash
 tables, most modules are actually _declarative_ -- they just define
 functions and variables and provide them for other modules to use, and
 don't manipulate modules as first-class objects.  See "Declarative
-Modules" in the manual.
+Modules" in the manual, for more discussion.
 
 Since version 3.0.0, Guile has taken advantage of declarative semantics
 to allow a top-level definition to be inlined within its uses in the
@@ -27,8 +27,8 @@ This facility is mostly transparent to the user and is 
enabled at the
 default -O2 optimization level.  "Small" definitions are available for
 cross-module inlining (-Oinlinable-exports, included at -O2).  The
 actual inlining decision is performed by Guile's partial evaluation pass
-(-Ocross-module-inlining, included at -O2 also), subject to effort and
-size growth counters.
+(the -Ocross-module-inlining modifier to -Opeval, included at -O2 also),
+subject to effort and size growth counters.
 
 Note however that as with macros, when a definition changes in module A,
 a separately compiled module B that uses that definition doesn't
@@ -50,11 +50,12 @@ or not.
 ** Avoid the need for a custom GMP allocator
 
 In Guile 3.0.6, we fixed a longstanding bug in Guile's use of the
-library that Guile uses to implement bignums, GMP.  See the Guile 3.0.6
-release notes.  However this left us with a suboptimal Guile, in which
-each large integer had to have a finalizer.  Finalizers take time and
-space, and so they limit allocation rate, causing bignum performance to
-drop.  Though you could set an environment variable to go back to the
+library that Guile uses to implement bignums (large integers), GMP
+(https://gmplib.org).  See the Guile 3.0.6 release notes.  However this
+left us with a suboptimal Guile, in which each large integer had to have
+a finalizer to free the memory allocated by GMP.  Finalizers take time
+and space, and so they limit allocation rate, causing bignum performance
+to drop.  Though you could set an environment variable to go back to the
 older, faster behavior, it wasn't the default.
 
 In Guile 3.0.8 we fix this problem comprehensively by avoiding embedding
@@ -112,7 +113,7 @@ Thanks to Maxime Devos.
     
 This meta-command is like ,optimize, but at a lower level.
 
-** Improve alias analysis in CSE
+** Improve alias analysis in common subexpression elimination
 
 ** Avoid argument-count checks for well-typed calls to known procedures
 
@@ -155,18 +156,14 @@ returns false) to functions `vector-move-left!', 
`vector-move-right!',
 
 ** `scm_from_contiguous_typed_array' is deprecated
 
-This function was undocumented.
-
-** Deprecate the "simple vector" concept
-
-This concept meant to indicate "vectors which aren't array slices".
-Deprecate scm_is_simple_vector; instead use scm_is_vector.
-
-** Deprecate `scm_from_contiguous_typed_array'
-    
 This function was added during the Guile 2.x series and was not
 documented and is no longer used in Guile itself.
 
+** Deprecate the "simple vector" concept, `scm_is_simple_vector'
+
+This concept meant to indicate "vectors which aren't array slices".  Use
+scm_is_vector.
+
 ** Deprecate internal contiguous array flag
 
 We still reserve space for the flag to preserve ABI but it has no



reply via email to

[Prev in Thread] Current Thread [Next in Thread]