@c module-for-docstring (guile) @deffn {Scheme Procedure} uniform-array->bytevector array @deffnx {C Function} scm_uniform_array_to_bytevector (array) Return a newly allocated bytevector whose contents will be copied from the uniform array @var{array}. @end deffn @deffn {Scheme Procedure} %start-stack id thunk @deffnx {C Function} scm_sys_start_stack (id, thunk) Call @var{thunk} on an evaluator stack tagged with @var{id}. @end deffn @deffn {Scheme Procedure} guardian-destroyed? guardian @deffnx {C Function} scm_guardian_destroyed_p (guardian) Return @code{#t} if @var{guardian} has been destroyed, otherwise @code{#f}. @end deffn @deffn {Scheme Procedure} guardian-greedy? guardian @deffnx {C Function} scm_guardian_greedy_p (guardian) Return @code{#t} if @var{guardian} is a greedy guardian, otherwise @code{#f}. @end deffn @deffn {Scheme Procedure} destroy-guardian! guardian @deffnx {C Function} scm_destroy_guardian_x (guardian) Destroys @var{guardian}, by making it impossible to put any more objects in it or get any objects from it. It also unguards any objects guarded by @var{guardian}. @end deffn @deffn {Scheme Procedure} gc-dump @deffnx {C Function} scm_gc_dump () Dump information about the garbage collector's internal data structures and memory usage to the standard output. @end deffn @deffn {Scheme Procedure} gc-disable @deffnx {C Function} scm_gc_disable () Disables the garbage collector. Nested calls are permitted. GC is re-enabled once @code{gc-enable} has been called the same number of times @code{gc-disable} was called. @end deffn @deffn {Scheme Procedure} gc-enable @deffnx {C Function} scm_gc_enable () Enables the garbage collector. @end deffn @deffn {Scheme Procedure} make-generalized-vector type len [fill] @deffnx {C Function} scm_make_generalized_vector (type, len, fill) Make a generalized vector @end deffn @deffn {Scheme Procedure} set-primitive-generic! subr generic @deffnx {C Function} scm_set_primitive_generic_x (subr, generic) @end deffn @deffn {Scheme Procedure} nl-langinfo item [locale] @deffnx {C Function} scm_nl_langinfo (item, locale) Return a string denoting locale information for @var{item} in the current locale or that specified by @var{locale}. The semantics and arguments are the same as those of the X/Open @code{nl_langinfo} function (@pxref{The Elegant and Fast Way, @code{nl_langinfo},, libc, The GNU C Library Reference Manual}). @end deffn @deffn {Scheme Procedure} %warn-autocompilation-enabled @deffnx {C Function} scm_sys_warn_autocompilation_enabled () @end deffn @deffn {Scheme Procedure} make-syncase-macro type binding @deffnx {C Function} scm_make_syncase_macro (type, binding) Return a @dfn{macro} that requires expansion by syntax-case. While users should not call this function, it is useful to know that syntax-case macros are represented as Guile primitive macros. @end deffn @deffn {Scheme Procedure} make-extended-syncase-macro m type binding @deffnx {C Function} scm_make_extended_syncase_macro (m, type, binding) Extend a core macro @var{m} with a syntax-case binding. @end deffn @deffn {Scheme Procedure} syncase-macro-type m @deffnx {C Function} scm_syncase_macro_type (m) Return the type of the macro @var{m}. @end deffn @deffn {Scheme Procedure} syncase-macro-binding m @deffnx {C Function} scm_syncase_macro_binding (m) Return the binding of the macro @var{m}. @end deffn @deffn {Scheme Procedure} memoize-expression exp @deffnx {C Function} scm_memoize_expression (exp) Memoize the expression @var{exp}. @end deffn @deffn {Scheme Procedure} unmemoize-expression m @deffnx {C Function} scm_unmemoize_expression (m) Unmemoize the memoized expression @var{m}. @end deffn @deffn {Scheme Procedure} memoized-expression-typecode m @deffnx {C Function} scm_memoized_expression_typecode (m) Return the typecode from the memoized expression @var{m}. @end deffn @deffn {Scheme Procedure} memoized-expression-data m @deffnx {C Function} scm_memoized_expression_data (m) Return the data from the memoized expression @var{m}. @end deffn @deffn {Scheme Procedure} memoized-typecode sym @deffnx {C Function} scm_memoized_typecode (sym) Return the memoized typecode corresponding to the symbol @var{sym}. @end deffn @deffn {Scheme Procedure} memoize-variable-access! m mod @deffnx {C Function} scm_memoize_variable_access_x (m, mod) Look up and cache the variable that @var{m} will access, returning the variable. @end deffn @deffn {Scheme Procedure} module-local-variable module sym @deffnx {C Function} scm_module_local_variable (module, sym) Return the variable bound to @var{sym} in @var{module}. Return @code{#f} is @var{sym} is not bound locally in @var{module}. @end deffn @deffn {Scheme Procedure} module-variable module sym @deffnx {C Function} scm_module_variable (module, sym) Return the variable bound to @var{sym} in @var{module}. This may be both a local variable or an imported variable. Return @code{#f} is @var{sym} is not bound in @var{module}. @end deffn @deffn {Scheme Procedure} eval-closure-module eval_closure @deffnx {C Function} scm_eval_closure_module (eval_closure) Return the module associated with this eval closure. @end deffn @deffn {Scheme Procedure} module-transformer module @deffnx {C Function} scm_module_transformer (module) Returns the syntax expander for the given module. @end deffn @deffn {Scheme Procedure} module-public-interface module @deffnx {C Function} scm_module_public_interface (module) Return the public interface of @var{module}. If @var{module} has no public interface, @code{#f} is returned. @end deffn @deffn {Scheme Procedure} define! sym value @deffnx {C Function} scm_define (sym, value) Define @var{sym} to be @var{value} in the current module.Returns the variable itself. Note that this is a procedure, not a macro. @end deffn @deffn {Scheme Procedure} module-reverse-lookup module variable @deffnx {C Function} scm_module_reverse_lookup (module, variable) Return the symbol under which @var{variable} is bound in @var{module} or @var{#f} if @var{variable} is not visible from @var{module}. If @var{module} is @code{#f}, then the pre-module obarray is used. @end deffn @deffn {Scheme Procedure} cddr x @deffnx {C Function} scm_cddr (x) @end deffn @deffn {Scheme Procedure} make-promise thunk @deffnx {C Function} scm_make_promise (thunk) Create a new promise object. @code{make-promise} is a procedural form of @code{delay}. These two expressions are equivalent: @lisp (delay @var{exp}) (make-promise (lambda () @var{exp})) @end lisp @end deffn @deffn {Scheme Procedure} %get-stack-size @deffnx {C Function} scm_sys_get_stack_size () Return the current thread's C stack size (in Scheme objects). @end deffn @deffn {Scheme Procedure} %string-dump str @deffnx {C Function} scm_sys_string_dump (str) Returns an association list containing debugging information for @var{str}. The association list has the following entries.@table @code @item string The string itself. @item start The start index of the string into its stringbuf @item length The length of the string @item shared If this string is a substring, it returns its parent string. Otherwise, it returns @code{#f} @item read-only @code{#t} if the string is read-only @item stringbuf-chars A new string containing this string's stringbuf's characters @item stringbuf-length The number of characters in this stringbuf @item stringbuf-shared @code{#t} if this stringbuf is shared @item stringbuf-wide @code{#t} if this stringbuf's characters are stored in a 32-bit buffer, or @code{#f} if they are stored in an 8-bit buffer @end table @end deffn @deffn {Scheme Procedure} %symbol-dump sym @deffnx {C Function} scm_sys_symbol_dump (sym) Returns an association list containing debugging information for @var{sym}. The association list has the following entries.@table @code @item symbol The symbol itself @item hash Its hash value @item interned @code{#t} if it is an interned symbol @item stringbuf-chars A new string containing this symbols's stringbuf's characters @item stringbuf-length The number of characters in this stringbuf @item stringbuf-shared @code{#t} if this stringbuf is shared @item stringbuf-wide @code{#t} if this stringbuf's characters are stored in a 32-bit buffer, or @code{#f} if they are stored in an 8-bit buffer @end table @end deffn @deffn {Scheme Procedure} string-bytes-per-char string @deffnx {C Function} scm_string_bytes_per_char (string) Return the bytes used to represent a character in @var{string}.This will return 1 or 4. @end deffn @deffn {Scheme Procedure} uniform-vector-element-type v @deffnx {C Function} scm_uniform_vector_element_type (v) Return the type of the elements in the uniform vector, @var{v}. @end deffn @deffn {Scheme Procedure} uniform-vector-element-size v @deffnx {C Function} scm_uniform_vector_element_size (v) Return the number of bytes allocated to each element in the uniform vector, @var{v}. @end deffn @deffn {Scheme Procedure} canonicalize-path path @deffnx {C Function} scm_canonicalize_path (path) Return the canonical path of @var{path}. A canonical path has no @code{.} or @code{..} components, nor any repeated path separators (@code{/}) nor symlinks. Raises an error if any component of @var{path} does not exist. @end deffn @deffn {Scheme Procedure} getrlimit resource @deffnx {C Function} scm_getrlimit (resource) Get a resource limit for this process. @var{resource} identifies the resource, either as an integer or as a symbol. For example, @code{(getrlimit 'stack)} gets the limits associated with @code{RLIMIT_STACK}. @code{getrlimit} returns two values, the soft and the hard limit. If no limit is set for the resource in question, the returned limit will be @code{#f}. @end deffn @deffn {Scheme Procedure} setrlimit resource soft hard @deffnx {C Function} scm_setrlimit (resource, soft, hard) Set a resource limit for this process. @var{resource} identifies the resource, either as an integer or as a symbol. @var{soft} and @var{hard} should be integers, or @code{#f} to indicate no limit (i.e., @code{RLIM_INFINITY}). For example, @code{(setrlimit 'stack 150000 300000)} sets the @code{RLIMIT_STACK} limit to 150 kilobytes, with a hard limit of 300 kB. @end deffn