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:
parent
9d3aa47b61
commit
c2379a5b45
2 changed files with 11 additions and 6 deletions
13
NEWS
13
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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue