summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Grabmüller <mgrabmue@cs.tu-berlin.de>2001-05-23 05:04:55 +0000
committerMartin Grabmüller <mgrabmue@cs.tu-berlin.de>2001-05-23 05:04:55 +0000
commit1b2f40b9f1b5950f014ad44943e081fc8b004970 (patch)
tree41d805014b4411210bc2f7bf118dc41a19d389dd
parentd579d1652d5c334f83096e36e62763a5c5d7141e (diff)
downloadguile-1b2f40b9f1b5950f014ad44943e081fc8b004970.tar.gz
* README: Update, document available SRFIs.
* srfi-19.scm, srfi-17.scm, srfi-16.scm, srfi-14.scm, srfi-13.scm, srfi-11.scm, srfi-10.scm, srfi-9.scm, srfi-8.scm, srfi-6.scm, srfi-2.scm: Use `cond-expand-provide' for providing features to `cond-expand'.
-rw-r--r--srfi/ChangeLog11
-rw-r--r--srfi/README215
-rw-r--r--srfi/srfi-10.scm2
-rw-r--r--srfi/srfi-11.scm2
-rw-r--r--srfi/srfi-13.scm3
-rw-r--r--srfi/srfi-14.scm2
-rw-r--r--srfi/srfi-16.scm2
-rw-r--r--srfi/srfi-17.scm2
-rw-r--r--srfi/srfi-19.scm2
-rw-r--r--srfi/srfi-2.scm2
-rw-r--r--srfi/srfi-6.scm2
-rw-r--r--srfi/srfi-8.scm2
-rw-r--r--srfi/srfi-9.scm2
13 files changed, 108 insertions, 141 deletions
diff --git a/srfi/ChangeLog b/srfi/ChangeLog
index 635e03ef9..913f3a7b1 100644
--- a/srfi/ChangeLog
+++ b/srfi/ChangeLog
@@ -1,3 +1,14 @@
+2001-05-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * README: Update, document available SRFIs.
+
+2001-05-21 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * srfi-19.scm, srfi-17.scm, srfi-16.scm, srfi-14.scm, srfi-13.scm,
+ srfi-11.scm, srfi-10.scm, srfi-9.scm, srfi-8.scm, srfi-6.scm,
+ srfi-2.scm: Use `cond-expand-provide' for providing features to
+ `cond-expand'.
+
2001-05-20 Marius Vollmer <mvo@zagadka.ping.de>
* srfi-14.c (scm_c_init_srfi_14): Added "int" to declaration of
diff --git a/srfi/README b/srfi/README
index 6dca759b2..bfe1af158 100644
--- a/srfi/README
+++ b/srfi/README
@@ -1,141 +1,74 @@
-This is the integration of guile-srfi into the core. -*- text -*-
-
-[ this is the README from guile-srfi 0.0.3, slightly modified for the
- integration into the Guile core
-
- 'martin -- 2001-04-23 ]
-
-This is a compiled Guile module that provides the string procedures
-defined in SRFI-13 (string library), and the character set procedures
-defined in SRFI-14 (character-set library).
-
-Getting Started ======================================================
-
-1. Type
-
- guile
-
- You should now be at the Guile prompt ("guile> ").
-
-2. Type
-
- (use-modules (srfi srfi-13))
-
- so that the srfi-13 module gets loaded.
-
-3. We're now ready to try some basic srfi-13/14 functionality.
-
- $ guile
- guile> (use-modules (srfi srfi-13))
- guile> (string-concatenate '("Hello" " " "World"))
- "Hello World"
- guile>
-
- Check out the SRFI-14 (character-set library) procedures, too:
-
- $ guile
- guile> (use-modules (srfi srfi-14))
- guile> (char-set-union (char-set #\f #\o #\o) (string->char-set "bar"))
- #<charset {#\a #\b #\f #\o #\r}>
- guile>
-
-What Is Included =====================================================
-
- All SRFI-13 procedures which are not already compatibly defined in
- the Guile core are implemented. These are:
-
- string-any string-every
- string-tabulate
- string->list
- reverse-list->string
- string-join
- string-copy
- substring/shared string-copy!
- string-take string-take-right
- string-drop string-drop-right
- string-pad string-pad-right
- string-trim string-trim-right string-trim-both
- string-fill!
- string-compare string-compare-ci
- string= string<>
- string< string>
- string<= string>=
- string-ci= string-ci<>
- string-ci< string-ci>
- string-ci<= string-ci>=
- string-hash string-hash-ci
- string-prefix-length string-prefix-length-ci
- string-suffix-length string-suffix-length-ci
- string-prefix? string-prefix-ci?
- string-suffix? string-suffix-ci?
- string-index string-index-right
- string-skip string-skip-right
- string-count
- string-contains string-contains-ci
- string-upcase string-upcase!
- string-downcase string-downcase!
- string-titlecase string-titlecase!
- string-reverse string-reverse!
- string-append/shared
- string-concatenate
- reverse-string-concatenate
- string-concatenate/shared
- reverse-string-concatenate/shared
- string-map string-map!
- string-fold string-fold-right
- string-unfold string-unfold-right
- string-for-each
- xsubstring string-xcopy!
- string-replace string-tokenize
- string-filter string-delete
-
-
- All procedures and variables defined in SRFI-14 are implemented.
- Thes complete list is:
-
- char-set? char-set= char-set<=
- char-set-hash
- char-set-fold char-set-unfold char-set-unfold!
- char-set-for-each char-set-map
- char-set-copy
- char-set
- list->char-set list->char-set!
- string->char-set string-char-set!
- predicate->char-set predicate->char-set!
- ucs-range->char-set ucs-range->char-set!
- ->char-set ->char-set!
- char-set-size char-set-count
- char-set-members char-set-contains?
- char-set-every char-set-any
- char-set-adjoin char-set-adjoin!
- char-set-delete char-set-delete!
- char-set-invert char-set-invert!
- char-set-union char-set-union!
- char-set-intersection char-set-intersection!
- char-set-difference char-set-difference!
- char-set-xor char-set-xor!
- char-set-diff+intersection char-set-diff+intersection!
- char-set:lower-case char-set:upper-case
- char-set:title-case char-set:letter
- char-set:digit char-set:letter+digit
- char-set:graphic char-set:printing
- char-set:whitespace char-set:iso-control
- char-set:punctuation char-set:symbol
- char-set:hex-digit char-set:blank
- char-set:ascii char-set:empty
- char-set:full
-
-
-What Is Not Included =================================================
-
- The following low-level procedures and syntax defined in SRFI-13
- are currently not supported.
-
- string-parse-start+end
- string-parse-final-start+end
- let-string-start+end
- check-substring-spec
- substring-spec-ok?
- make-kmp-restart-vector
- kmp-step
- string-search-kmp
+This directory includes most of Guile's SRFI support. -*- text -*-
+
+For more details about what SRFI means, and what the various numbers
+stand for, please refer to the SRFI homepage at
+
+ http://srfi.schemers.org
+
+The following SRFIs are supported (as of 2001-05-22 -- 'martin):
+
+SRFI-0: cond-expand
+
+ Supported by default, no module needs to get used.
+
+SRFI-2: and-let*
+
+ (use-modules (srfi srfi-2)) to make and-let* available.
+
+SRFI-6: open-input-string, open-output-string and get-output-string
+
+ (use-modules (srfi srfi-6)) to make these available. (Currently,
+ these procedures are available without using the module, but the
+ procedures might be factored out of the core library in the
+ future.)
+
+SRFI-8: receive
+
+ (use-modules (srfi srfi-8)) to make receive available.
+
+SRFI-9: define-record-type
+
+ A mechanism for defining record types. (use-modules (srfi srfi-9))
+ makes this syntactic form available.
+
+SRFI-10: #,()
+
+ The hash-comma reader extension. (use-modules (srfi srfi-10))
+ activates the extension.
+
+SRFI-11: let-values and let-values*
+
+ Syntactic extensions for handling multiple values. (use-modules
+ (srfi srfi-11)) makes these syntactic forms available.
+
+SRFI-13: string library
+
+ A lot of (more or less) useful string processing procedures.
+ (use-modules (srfi srfi-13)) loads the procedures.
+
+SRFI-14: character-set library
+
+ Character-set library. (use-modules (srfi srfi-14)) loads the
+ procedures and standard variables.
+
+SRFI-16: case-lambda
+
+ Syntactic form which permits writing functions acting different
+ according to the number of arguments passed. (use-modules (srfi
+ srfi-16)) makes this syntactic form available.
+
+SRFI-17: Generalized set!
+
+ Guile supports generalized set! by default, but this module makes it
+ fully compliant to the SRFI. (use-modules (srfi srfi-17)) loads the
+ procedures.
+
+SRFI-19: Time Data Types and Procedures
+
+ A lot of data types and procedures for dealing with times and
+ dates. (use-modules (srfi srfi-19)) loads the procedures.
+
+SRFI-23: Error reporting mechanism (draft)
+
+ This SRFI is still in draft status, but Guile fully supports it
+ already. No need to load any module.
diff --git a/srfi/srfi-10.scm b/srfi/srfi-10.scm
index 8efef2693..5aa8b04a8 100644
--- a/srfi/srfi-10.scm
+++ b/srfi/srfi-10.scm
@@ -49,6 +49,8 @@
(export define-reader-ctor)
+(cond-expand-provide (current-module) '(srfi-10))
+
;; This hash table stores the association between comma-hash tags and
;; the corresponding constructor procedures.
;;
diff --git a/srfi/srfi-11.scm b/srfi/srfi-11.scm
index 0caebab05..032e5daf6 100644
--- a/srfi/srfi-11.scm
+++ b/srfi/srfi-11.scm
@@ -20,6 +20,8 @@
(define-module (srfi srfi-11)
:use-module (ice-9 syncase))
+(cond-expand-provide (current-module) '(srfi-11))
+
;;;;;;;;;;;;;;
;; let-values
;;
diff --git a/srfi/srfi-13.scm b/srfi/srfi-13.scm
index 612518105..76fcc6d06 100644
--- a/srfi/srfi-13.scm
+++ b/srfi/srfi-13.scm
@@ -110,6 +110,8 @@
string-delete
)
+(cond-expand-provide (current-module) '(srfi-13))
+
(dynamic-call "scm_init_srfi_13" (dynamic-link "libguile-srfi-srfi-13-14"))
(define string-hash
@@ -139,3 +141,4 @@
(caddr rest)
(string-length s))))
(hash (string-upcase (substring/shared s start end)) bound))))
+
diff --git a/srfi/srfi-14.scm b/srfi/srfi-14.scm
index b947b9187..1cea4e079 100644
--- a/srfi/srfi-14.scm
+++ b/srfi/srfi-14.scm
@@ -90,6 +90,8 @@
char-set:full
)
+(cond-expand-provide (current-module) '(srfi-14))
+
(dynamic-call "scm_init_srfi_14" (dynamic-link "libguile-srfi-srfi-13-14"))
(define (->char-set x)
diff --git a/srfi/srfi-16.scm b/srfi/srfi-16.scm
index 011bcdb46..1746657cf 100644
--- a/srfi/srfi-16.scm
+++ b/srfi/srfi-16.scm
@@ -49,6 +49,8 @@
(export-syntax case-lambda)
+(cond-expand-provide (current-module) '(srfi-16))
+
(define-macro (case-lambda . clauses)
;; Return the length of the list @var{l}, but allow dotted list.
diff --git a/srfi/srfi-17.scm b/srfi/srfi-17.scm
index 1a82ea09d..fda6fb9ae 100644
--- a/srfi/srfi-17.scm
+++ b/srfi/srfi-17.scm
@@ -49,6 +49,8 @@
caddar cadddr cdaaar cdaadr cdadar cdaddr cddaar cddadr
cdddar cddddr string-ref vector-ref))
+(cond-expand-provide (current-module) '(srfi-17))
+
;;; Procedures
(define getter-with-setter make-procedure-with-setter)
diff --git a/srfi/srfi-19.scm b/srfi/srfi-19.scm
index 00d5837d6..3b65a69e1 100644
--- a/srfi/srfi-19.scm
+++ b/srfi/srfi-19.scm
@@ -119,6 +119,8 @@
date->string
string->date))
+(cond-expand-provide (current-module) '(srfi-19))
+
;; :OPTIONAL is nice
(define-syntax :optional
diff --git a/srfi/srfi-2.scm b/srfi/srfi-2.scm
index aaedf97fa..4ffb49c6f 100644
--- a/srfi/srfi-2.scm
+++ b/srfi/srfi-2.scm
@@ -21,3 +21,5 @@
:use-module (ice-9 and-let-star))
(export-syntax and-let*)
+
+(cond-expand-provide (current-module) '(srfi-2))
diff --git a/srfi/srfi-6.scm b/srfi/srfi-6.scm
index 97e54cb22..41aeeb362 100644
--- a/srfi/srfi-6.scm
+++ b/srfi/srfi-6.scm
@@ -21,3 +21,5 @@
;; Currently, guile provides these functions by default, so no action
;; is needed, and this file is just a placeholder.
+
+(cond-expand-provide (current-module) '(srfi-6))
diff --git a/srfi/srfi-8.scm b/srfi/srfi-8.scm
index e9e97a217..5971d1696 100644
--- a/srfi/srfi-8.scm
+++ b/srfi/srfi-8.scm
@@ -21,3 +21,5 @@
:use-module (ice-9 receive))
(export-syntax receive)
+
+(cond-expand-provide (current-module) '(srfi-8))
diff --git a/srfi/srfi-9.scm b/srfi/srfi-9.scm
index 7d2468892..0df0fee6d 100644
--- a/srfi/srfi-9.scm
+++ b/srfi/srfi-9.scm
@@ -63,6 +63,8 @@
(export-syntax define-record-type)
+(cond-expand-provide (current-module) '(srfi-9))
+
(define-macro (define-record-type type-name constructor/field-tag
predicate-name . field-specs)
`(begin