diff options
author | Andy Wingo <wingo@pobox.com> | 2014-03-16 16:28:28 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2014-03-16 16:28:28 +0100 |
commit | c2379a5b45a493c35ea90d64857a59e7832466be (patch) | |
tree | 0567aa85ed851ca74408f3bb82503d0121729d7a | |
parent | 9d3aa47b6124d1d4b532a8f97f9fdeae3a8032c3 (diff) | |
download | guile-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-- | NEWS | 13 | ||||
-rw-r--r-- | doc/ref/api-data.texi | 4 |
2 files changed, 11 insertions, 6 deletions
@@ -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. |