1 |
;;;; srfi-17.scm --- SRFI-17 procedures for Guile |
;;; srfi-17.scm --- Generalized set! |
2 |
|
|
3 |
;;; Copyright (C) 2001 Free Software Foundation, Inc. |
;; Copyright (C) 2001, 2002 Free Software Foundation, Inc. |
4 |
;;; Originally by Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de> |
;; |
5 |
;;; |
;; This program is free software; you can redistribute it and/or |
6 |
;;; This program is free software; you can redistribute it and/or |
;; modify it under the terms of the GNU General Public License as |
7 |
;;; modify it under the terms of the GNU General Public License as |
;; published by the Free Software Foundation; either version 2, or |
8 |
;;; published by the Free Software Foundation; either version 2, or |
;; (at your option) any later version. |
9 |
;;; (at your option) any later version. |
;; |
10 |
;;; |
;; This program is distributed in the hope that it will be useful, |
11 |
;;; This program is distributed in the hope that it will be useful, |
;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 |
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 |
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
;; General Public License for more details. |
14 |
;;; General Public License for more details. |
;; |
15 |
;;; |
;; You should have received a copy of the GNU General Public License |
16 |
;;; You should have received a copy of the GNU General Public License |
;; along with this software; see the file COPYING. If not, write to |
17 |
;;; along with this software; see the file COPYING. If not, write to |
;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, |
18 |
;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, |
;; Boston, MA 02111-1307 USA |
19 |
;;; Boston, MA 02111-1307 USA |
;; |
20 |
;;; |
;; As a special exception, the Free Software Foundation gives permission |
21 |
;;; As a special exception, the Free Software Foundation gives permission |
;; for additional uses of the text contained in its release of GUILE. |
22 |
;;; for additional uses of the text contained in its release of GUILE. |
;; |
23 |
;;; |
;; The exception is that, if you link the GUILE library with other files |
24 |
;;; The exception is that, if you link the GUILE library with other files |
;; to produce an executable, this does not by itself cause the |
25 |
;;; to produce an executable, this does not by itself cause the |
;; resulting executable to be covered by the GNU General Public License. |
26 |
;;; resulting executable to be covered by the GNU General Public License. |
;; Your use of that executable is in no way restricted on account of |
27 |
;;; Your use of that executable is in no way restricted on account of |
;; linking the GUILE library code into it. |
28 |
;;; linking the GUILE library code into it. |
;; |
29 |
;;; |
;; This exception does not however invalidate any other reasons why |
30 |
;;; This exception does not however invalidate any other reasons why |
;; the executable file might be covered by the GNU General Public License. |
31 |
;;; the executable file might be covered by the GNU General Public License. |
;; |
32 |
;;; |
;; This exception applies only to the code released by the |
33 |
;;; This exception applies only to the code released by the |
;; Free Software Foundation under the name GUILE. If you copy |
34 |
;;; Free Software Foundation under the name GUILE. If you copy |
;; code from other Free Software Foundation releases into a copy of |
35 |
;;; code from other Free Software Foundation releases into a copy of |
;; GUILE, as the General Public License permits, the exception does |
36 |
;;; GUILE, as the General Public License permits, the exception does |
;; not apply to the code that you add in this way. To avoid misleading |
37 |
;;; not apply to the code that you add in this way. To avoid misleading |
;; anyone as to the status of such modified files, you must delete |
38 |
;;; anyone as to the status of such modified files, you must delete |
;; this exception notice from them. |
39 |
;;; this exception notice from them. |
;; |
40 |
;;; |
;; If you write modifications of your own for GUILE, it is your choice |
41 |
;;; If you write modifications of your own for GUILE, it is your choice |
;; whether to permit this exception to apply to your modifications. |
42 |
;;; whether to permit this exception to apply to your modifications. |
;; If you do not wish that, delete this exception notice. |
43 |
;;; If you do not wish that, delete this exception notice. |
|
44 |
|
;;; Author: Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de> |
45 |
|
|
46 |
;;; Commentary: |
;;; Commentary: |
47 |
|
|
62 |
;; setter") via the `getter-with-setter' procedure. This procedure is |
;; setter") via the `getter-with-setter' procedure. This procedure is |
63 |
;; also specified in the SRFI. Using it avoids the described |
;; also specified in the SRFI. Using it avoids the described |
64 |
;; problems. |
;; problems. |
65 |
|
;; |
66 |
|
;; This module is fully documented in the Guile Reference Manual. |
67 |
|
|
68 |
;;; Code: |
;;; Code: |
69 |
|
|
126 |
(define cddddr (getter-with-setter cddddr (compose-setter set-cdr! cdddr))) |
(define cddddr (getter-with-setter cddddr (compose-setter set-cdr! cdddr))) |
127 |
(define string-ref (getter-with-setter string-ref string-set!)) |
(define string-ref (getter-with-setter string-ref string-set!)) |
128 |
(define vector-ref (getter-with-setter vector-ref vector-set!)) |
(define vector-ref (getter-with-setter vector-ref vector-set!)) |
129 |
|
|
130 |
|
;;; srfi-17.scm ends here |