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

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

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

revision 1.5 by mdj, Sun Oct 21 09:48:51 2001 UTC revision 1.6 by ttn, Thu Mar 28 01:39:12 2002 UTC
# Line 1  Line 1 
1  ;;;; srfi-10.scm --- SRFI-10 read hash extension for Guile  ;;; srfi-10.scm --- Hash-Comma Reader Extension
2  ;;;;  
3  ;;;;    Copyright (C) 2001 Free Software Foundation, Inc.  ;;      Copyright (C) 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:  ;;; Commentary:
45    
46  ;;; This module implements the syntax extension #,(), also called  ;; This module implements the syntax extension #,(), also called
47  ;;; hash-comma, which is defined in SRFI-10.  ;; hash-comma, which is defined in SRFI-10.
48  ;;;  ;;
49  ;;; The support for SRFI-10 consists of the procedure  ;; The support for SRFI-10 consists of the procedure
50  ;;; `define-reader-ctor' for defining new reader constructors and the  ;; `define-reader-ctor' for defining new reader constructors and the
51  ;;; read syntax form  ;; read syntax form
52  ;;;  ;;
53  ;;; #,(<ctor> <datum> ...)  ;; #,(<ctor> <datum> ...)
54  ;;;  ;;
55  ;;; where <ctor> must be a symbol for which a read constructor was  ;; where <ctor> must be a symbol for which a read constructor was
56  ;;; defined previously.  ;; defined previously.
57  ;;;  ;;
58  ;;; Example:  ;; Example:
59  ;;;  ;;
60  ;;; (define-reader-ctor 'file open-input-file)  ;; (define-reader-ctor 'file open-input-file)
61  ;;; (define f '#,(file "/etc/passwd"))  ;; (define f '#,(file "/etc/passwd"))
62  ;;; (read-line f)  ;; (read-line f)
63  ;;; =>  ;; =>
64  ;;; "root:x:0:0:root:/root:/bin/bash"  ;; "root:x:0:0:root:/root:/bin/bash"
65  ;;;  ;;
66  ;;; Please note the quote before the #,(file ...) expression.  This is  ;; Please note the quote before the #,(file ...) expression.  This is
67  ;;; necessary because ports are not self-evaluating in Guile.  ;; necessary because ports are not self-evaluating in Guile.
68    ;;
69    ;; This module is fully documented in the Guile Reference Manual.
70    
71  ;;; Code:  ;;; Code:
72    
# Line 108  Line 110 
110  ;; Install the hash extension.  ;; Install the hash extension.
111  ;;  ;;
112  (read-hash-extend #\, hash-comma)  (read-hash-extend #\, hash-comma)
113    
114    ;;; srfi-10.scm ends here

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

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