/[guile]/guile/guile-core/srfi/srfi-11.scm
ViewVC logotype

Diff of /guile/guile-core/srfi/srfi-11.scm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4.2.2 by mdj, Thu Oct 18 19:43:07 2001 UTC revision 1.4.2.3 by ttn, Thu Mar 28 01:52:37 2002 UTC
# Line 1  Line 1 
1  ;;;; srfi-11.scm --- SRFI-11 procedures for Guile  ;;; srfi-11.scm --- let-values and let*-values
2    
3  ;;; Copyright (C) 2000, 2001 Free Software Foundation, Inc.  ;; Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
4  ;;;  ;;
5  ;;; This program is free software; you can redistribute it and/or  ;; This program is free software; you can redistribute it and/or
6  ;;; modify it under the terms of the GNU General Public License as  ;; modify it under the terms of the GNU General Public License as
7  ;;; published by the Free Software Foundation; either version 2, or  ;; published by the Free Software Foundation; either version 2, or
8  ;;; (at your option) any later version.  ;; (at your option) any later version.
9  ;;;  ;;
10  ;;; This program is distributed in the hope that it will be useful,  ;; This program is distributed in the hope that it will be useful,
11  ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of  ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
12  ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  ;;; General Public License for more details.  ;; General Public License for more details.
14  ;;;  ;;
15  ;;; You should have received a copy of the GNU General Public License  ;; You should have received a copy of the GNU General Public License
16  ;;; along with this software; see the file COPYING.  If not, write to  ;; along with this software; see the file COPYING.  If not, write to
17  ;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,  ;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18  ;;; Boston, MA 02111-1307 USA  ;; Boston, MA 02111-1307 USA
19  ;;;  ;;
20  ;;; As a special exception, the Free Software Foundation gives permission  ;; As a special exception, the Free Software Foundation gives permission
21  ;;; for additional uses of the text contained in its release of GUILE.  ;; for additional uses of the text contained in its release of GUILE.
22  ;;;  ;;
23  ;;; The exception is that, if you link the GUILE library with other files  ;; The exception is that, if you link the GUILE library with other files
24  ;;; to produce an executable, this does not by itself cause the  ;; to produce an executable, this does not by itself cause the
25  ;;; resulting executable to be covered by the GNU General Public License.  ;; resulting executable to be covered by the GNU General Public License.
26  ;;; Your use of that executable is in no way restricted on account of  ;; Your use of that executable is in no way restricted on account of
27  ;;; linking the GUILE library code into it.  ;; linking the GUILE library code into it.
28  ;;;  ;;
29  ;;; This exception does not however invalidate any other reasons why  ;; This exception does not however invalidate any other reasons why
30  ;;; the executable file might be covered by the GNU General Public License.  ;; the executable file might be covered by the GNU General Public License.
31  ;;;  ;;
32  ;;; This exception applies only to the code released by the  ;; This exception applies only to the code released by the
33  ;;; Free Software Foundation under the name GUILE.  If you copy  ;; Free Software Foundation under the name GUILE.  If you copy
34  ;;; code from other Free Software Foundation releases into a copy of  ;; code from other Free Software Foundation releases into a copy of
35  ;;; GUILE, as the General Public License permits, the exception does  ;; GUILE, as the General Public License permits, the exception does
36  ;;; not apply to the code that you add in this way.  To avoid misleading  ;; not apply to the code that you add in this way.  To avoid misleading
37  ;;; anyone as to the status of such modified files, you must delete  ;; anyone as to the status of such modified files, you must delete
38  ;;; this exception notice from them.  ;; this exception notice from them.
39  ;;;  ;;
40  ;;; If you write modifications of your own for GUILE, it is your choice  ;; If you write modifications of your own for GUILE, it is your choice
41  ;;; whether to permit this exception to apply to your modifications.  ;; whether to permit this exception to apply to your modifications.
42  ;;; If you do not wish that, delete this exception notice.  ;; If you do not wish that, delete this exception notice.
43    
44    ;;; Commentary:
45    
46    ;; This module exports two syntax forms: let-values and let*-values.
47    ;;
48    ;; Sample usage:
49    ;;
50    ;;   (let-values (((x y . z) (foo a b))
51    ;;                ((p q) (bar c)))
52    ;;     (baz x y z p q))
53    ;;
54    ;; This binds `x' and `y' to the first to values returned by `foo',
55    ;; `z' to the rest of the values from `foo', and `p' and `q' to the
56    ;; values returned by `bar'.  All of these are available to `baz'.
57    ;;
58    ;; let*-values : let-values :: let* : let
59    ;;
60    ;; This module is fully documented in the Guile Reference Manual.
61    
62    ;;; Code:
63    
64  (define-module (srfi srfi-11)  (define-module (srfi srfi-11)
65    :use-module (ice-9 syncase)    :use-module (ice-9 syncase)
# Line 257  Line 277 
277  ;   (if (null? vars)  ;   (if (null? vars)
278  ;       `(begin ,@body)  ;       `(begin ,@body)
279  ;       (let-values-helper vars body)))  ;       (let-values-helper vars body)))
280    
281    ;;; srfi-11.scm ends here

Legend:
Removed from v.1.4.2.2  
changed lines
  Added in v.1.4.2.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26