1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-19 18:20:22 +02:00

Add weak-vector-length, weak-vector-ref, weak-vector-set!

* libguile/weak-vectors.h:
* libguile/weak-vectors.c (scm_is_weak_vector, scm_c_weak_vector_length):
  (scm_c_weak_vector_ref, scm_c_weak_vector_set_x): New interfaces for
  dealing with weak vectors from C.
  (scm_weak_vector_length, scm_weak_vector_ref, scm_weak_vector_set_x):
  New Scheme interfaces to weak vectors; to be used instead of
  vector-length, vector-ref, etc.

* module/ice-9/weak-vector.scm: Export the new interfaces.
This commit is contained in:
Andy Wingo 2014-02-07 13:00:12 +01:00
parent 13af75bfe0
commit c9647bfb7e
3 changed files with 87 additions and 12 deletions

View file

@ -1,6 +1,6 @@
;;; installed-scm-file
;;;; Copyright (C) 2003, 2006, 2011 Free Software Foundation, Inc.
;;;; Copyright (C) 2003, 2006, 2011, 2014 Free Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@ -19,7 +19,12 @@
(define-module (ice-9 weak-vector)
#:export (make-weak-vector list->weak-vector weak-vector weak-vector?))
#:export (make-weak-vector
list->weak-vector
weak-vector
weak-vector?
weak-vector-ref
weak-vector-set!))
(eval-when (load eval compile)
(load-extension (string-append "libguile-" (effective-version))