-;;;; srfi-13.scm --- SRFI-13 procedures for Guile
-;;;;
-;;;; Copyright (C) 2001 Free Software Foundation, Inc.
-;;;;
-;;;; This program is free software; you can redistribute it and/or
-;;;; modify it under the terms of the GNU General Public License as
-;;;; published by the Free Software Foundation; either version 2, or
-;;;; (at your option) any later version.
-;;;;
-;;;; This program is distributed in the hope that it will be useful,
-;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;;;; General Public License for more details.
-;;;;
-;;;; You should have received a copy of the GNU General Public License
-;;;; along with this software; see the file COPYING. If not, write to
-;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-;;;; Boston, MA 02111-1307 USA
-
-(define-module (srfi srfi-13))
-
-(export
+;;; srfi-13.scm --- String Library
+
+;; Copyright (C) 2001, 2002, 2003 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
+;; License as published by the Free Software Foundation; either
+;; version 2.1 of the License, or (at your option) any later version.
+;;
+;; This library is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; Lesser General Public License for more details.
+;;
+;; You should have received a copy of the GNU Lesser General Public
+;; License along with this library; if not, write to the Free Software
+;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+;;; Commentary:
+
+;; This module is fully documented in the Guile Reference Manual.
+
+;;; Code:
+
+(define-module (srfi srfi-13)
+ :export (
;;; Predicates
;; string? string-null? <= in the core
string-any string-every
string-tabulate
;;; List/string conversion
- string->list
+ ;; string->list extended
;; list->string <= in the core
reverse-list->string
string-join
;;; Selection
;; string-length string-ref <= in the core
- string-copy
+ ;; string-copy extended
substring/shared
string-copy!
string-take string-take-right
;;; Modification
;; string-set! <= in the core
- string-fill!
+ ;; string-fill! extended
;;; Comparison
string-compare string-compare-ci
string-suffix-ci?
;;; Searching
- string-index string-index-right
+ ;; string-index extended
+ string-index-right
string-skip string-skip-right
string-count
string-contains string-contains-ci
;;; Alphabetic case mapping
- string-upcase string-upcase!
- string-downcase string-downcase!
+ ;; string-upcase string-upcase! extended
+ ;; string-downcase string-downcase! extended
string-titlecase string-titlecase!
;;; Reverse/Append
string-unfold
string-unfold-right
string-for-each
+ string-for-each-index
;;; Replicate/Rotate
xsubstring string-xcopy!
string-filter
string-delete
)
+ :replace (string->list string-copy string-fill!
+ string-upcase! string-upcase string-downcase! string-downcase
+ string-index)
+ )
(cond-expand-provide (current-module) '(srfi-13))
(string-length s))))
(hash (string-upcase (substring/shared s start end)) bound))))
+;;; srfi-13.scm ends here