summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2014-03-16 16:28:28 +0100
committerAndy Wingo <wingo@pobox.com>2014-03-16 16:28:28 +0100
commitc2379a5b45a493c35ea90d64857a59e7832466be (patch)
tree0567aa85ed851ca74408f3bb82503d0121729d7a
parent9d3aa47b6124d1d4b532a8f97f9fdeae3a8032c3 (diff)
downloadguile-c2379a5b45a493c35ea90d64857a59e7832466be.tar.gz
Doc and NEWS updates
* NEWS: Update section on dynamic stacks. Add link for intptr interfaces. * doc/ref/api-data.texi (Integers): Add intptr interfaces.
-rw-r--r--NEWS13
-rw-r--r--doc/ref/api-data.texi4
2 files changed, 11 insertions, 6 deletions
diff --git a/NEWS b/NEWS
index 1808dcb0e..c8071557b 100644
--- a/NEWS
+++ b/NEWS
@@ -52,12 +52,13 @@ in the same way as the editor we know and love.
** Dynamically expandable stacks
Instead of allocating fixed stack sizes for running Scheme code, Guile
-now starts off each thread with only one or two pages of stack, and
-expands it dynamically as needed. Guile will throw an exception for
-stack overflows at some user-defined limit. See the manual for
-documentation on the GUILE_STACK_SIZE environment variable.
+now starts off each thread with only one page of stack, and expands and
+shrinks it dynamically as needed. Guile will throw an exception for
+stack overflows if growing the stack fails. It is also possible to
+impose a stack limit during the extent of a function call. See "Stack
+Overflow" in the manual, for more.
-This allows users to write programs that use the stack as a data
+This change allows users to write programs that use the stack as a data
structure for pending computations, as it was meant to be, without
reifying that data out to the heap. Where you would previously make a
loop that collect its results in reverse order only to re-reverse them
@@ -143,7 +144,7 @@ See the "Guile Implementation" chapter in the manual for all details.
** New functions: `scm_to_intptr_t', `scm_from_intptr_t'
** New functions: `scm_to_uintptr_t', `scm_from_uintptr_t'
-See XXX in the manual.
+See "Integers" in the manual, for more.
** New thread-safe port API
diff --git a/doc/ref/api-data.texi b/doc/ref/api-data.texi
index c73a703d5..ba00603b8 100644
--- a/doc/ref/api-data.texi
+++ b/doc/ref/api-data.texi
@@ -445,6 +445,8 @@ function will always succeed and will always return an exact number.
@deftypefnx {C Function} scm_t_uint64 scm_to_uint64 (SCM x)
@deftypefnx {C Function} scm_t_intmax scm_to_intmax (SCM x)
@deftypefnx {C Function} scm_t_uintmax scm_to_uintmax (SCM x)
+@deftypefnx {C Function} scm_t_intptr scm_to_intptr_t (SCM x)
+@deftypefnx {C Function} scm_t_uintptr scm_to_uintptr_t (SCM x)
When @var{x} represents an exact integer that fits into the indicated
C type, return that integer. Else signal an error, either a
`wrong-type' error when @var{x} is not an exact integer, or an
@@ -479,6 +481,8 @@ the corresponding types are.
@deftypefnx {C Function} SCM scm_from_uint64 (scm_t_uint64 x)
@deftypefnx {C Function} SCM scm_from_intmax (scm_t_intmax x)
@deftypefnx {C Function} SCM scm_from_uintmax (scm_t_uintmax x)
+@deftypefnx {C Function} SCM scm_from_intptr_t (scm_t_intptr x)
+@deftypefnx {C Function} SCM scm_from_uintptr_t (scm_t_uintptr x)
Return the @code{SCM} value that represents the integer @var{x}.
These functions will always succeed and will always return an exact
number.