move scm srfi files to module/srfi, and compile them.
[bpt/guile.git] / module / srfi / srfi-13.scm
CommitLineData
6be07c52
TTN
1;;; srfi-13.scm --- String Library
2
1b09b607 3;; Copyright (C) 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
6be07c52 4;;
73be1d9e
MV
5;; This library is free software; you can redistribute it and/or
6;; modify it under the terms of the GNU Lesser General Public
7;; License as published by the Free Software Foundation; either
8;; version 2.1 of the License, or (at your option) any later version.
9;;
10;; This library is distributed in the hope that it will be useful,
6be07c52
TTN
11;; but WITHOUT ANY WARRANTY; without even the implied warranty of
12;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
73be1d9e
MV
13;; Lesser General Public License for more details.
14;;
15;; You should have received a copy of the GNU Lesser General Public
16;; License along with this library; if not, write to the Free Software
92205699 17;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
0706ae06
TTN
18
19;;; Commentary:
20
21;; This module is fully documented in the Guile Reference Manual.
0081b349
MV
22;;
23;; All procedures are in the core and are simply reexported here.
0706ae06
TTN
24
25;;; Code:
ca003b26 26
0081b349
MV
27(define-module (srfi srfi-13))
28
29(re-export
ca003b26 30;;; Predicates
0081b349
MV
31 string?
32 string-null?
33 string-any
34 string-every
ca003b26
MG
35
36;;; Constructors
0081b349
MV
37 make-string
38 string
ca003b26
MG
39 string-tabulate
40
41;;; List/string conversion
0081b349
MV
42 string->list
43 list->string
ca003b26
MG
44 reverse-list->string
45 string-join
46
47;;; Selection
0081b349
MV
48 string-length
49 string-ref
50 string-copy
ca003b26
MG
51 substring/shared
52 string-copy!
53 string-take string-take-right
54 string-drop string-drop-right
55 string-pad string-pad-right
56 string-trim string-trim-right
57 string-trim-both
58
59;;; Modification
0081b349
MV
60 string-set!
61 string-fill!
ca003b26
MG
62
63;;; Comparison
0081b349
MV
64 string-compare
65 string-compare-ci
ca003b26
MG
66 string= string<>
67 string< string>
68 string<= string>=
69 string-ci= string-ci<>
70 string-ci< string-ci>
71 string-ci<= string-ci>=
fafb71de 72 string-hash string-hash-ci
ca003b26
MG
73
74;;; Prefixes/Suffixes
75 string-prefix-length
76 string-prefix-length-ci
77 string-suffix-length
78 string-suffix-length-ci
79 string-prefix?
80 string-prefix-ci?
81 string-suffix?
82 string-suffix-ci?
83
84;;; Searching
0081b349 85 string-index
d57da08b 86 string-index-right
ca003b26
MG
87 string-skip string-skip-right
88 string-count
89 string-contains string-contains-ci
90
91;;; Alphabetic case mapping
0081b349
MV
92 string-upcase
93 string-upcase!
94 string-downcase
95 string-downcase!
96 string-titlecase
97 string-titlecase!
ca003b26
MG
98
99;;; Reverse/Append
0081b349
MV
100 string-reverse
101 string-reverse!
102 string-append
ca003b26
MG
103 string-append/shared
104 string-concatenate
8dddb4bc 105 string-concatenate-reverse
ca003b26 106 string-concatenate/shared
8dddb4bc 107 string-concatenate-reverse/shared
ca003b26
MG
108
109;;; Fold/Unfold/Map
110 string-map string-map!
111 string-fold
112 string-fold-right
113 string-unfold
114 string-unfold-right
115 string-for-each
4cf75288 116 string-for-each-index
ca003b26
MG
117
118;;; Replicate/Rotate
0081b349
MV
119 xsubstring
120 string-xcopy!
ca003b26
MG
121
122;;; Miscellaneous
123 string-replace
124 string-tokenize
125
126;;; Filtering/Deleting
127 string-filter
0081b349 128 string-delete)
ca003b26 129
1b2f40b9
MG
130(cond-expand-provide (current-module) '(srfi-13))
131
6be07c52 132;;; srfi-13.scm ends here