1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-09 05:30:21 +02:00

Doc and NEWS updates

* NEWS: Update section on dynamic stacks.  Add link for intptr
  interfaces.
* doc/ref/api-data.texi (Integers): Add intptr interfaces.
This commit is contained in:
Andy Wingo 2014-03-16 16:28:28 +01:00
parent 9d3aa47b61
commit c2379a5b45
2 changed files with 11 additions and 6 deletions

13
NEWS
View file

@ -52,12 +52,13 @@ in the same way as the editor we know and love.
** Dynamically expandable stacks ** Dynamically expandable stacks
Instead of allocating fixed stack sizes for running Scheme code, Guile 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 now starts off each thread with only one page of stack, and expands and
expands it dynamically as needed. Guile will throw an exception for shrinks it dynamically as needed. Guile will throw an exception for
stack overflows at some user-defined limit. See the manual for stack overflows if growing the stack fails. It is also possible to
documentation on the GUILE_STACK_SIZE environment variable. 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 structure for pending computations, as it was meant to be, without
reifying that data out to the heap. Where you would previously make a 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 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_intptr_t', `scm_from_intptr_t'
** New functions: `scm_to_uintptr_t', `scm_from_uintptr_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 ** New thread-safe port API

View file

@ -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_uint64 scm_to_uint64 (SCM x)
@deftypefnx {C Function} scm_t_intmax scm_to_intmax (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_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 When @var{x} represents an exact integer that fits into the indicated
C type, return that integer. Else signal an error, either a C type, return that integer. Else signal an error, either a
`wrong-type' error when @var{x} is not an exact integer, or an `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_uint64 (scm_t_uint64 x)
@deftypefnx {C Function} SCM scm_from_intmax (scm_t_intmax 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_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}. Return the @code{SCM} value that represents the integer @var{x}.
These functions will always succeed and will always return an exact These functions will always succeed and will always return an exact
number. number.