* README: Update, document available SRFIs.
authorMartin Grabmüller <mgrabmue@cs.tu-berlin.de>
Wed, 23 May 2001 05:04:55 +0000 (05:04 +0000)
committerMartin Grabmüller <mgrabmue@cs.tu-berlin.de>
Wed, 23 May 2001 05:04:55 +0000 (05:04 +0000)
* 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'.

13 files changed:
srfi/ChangeLog
srfi/README
srfi/srfi-10.scm
srfi/srfi-11.scm
srfi/srfi-13.scm
srfi/srfi-14.scm
srfi/srfi-16.scm
srfi/srfi-17.scm
srfi/srfi-19.scm
srfi/srfi-2.scm
srfi/srfi-6.scm
srfi/srfi-8.scm
srfi/srfi-9.scm

index 635e03e..913f3a7 100644 (file)
@@ -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
dissimilarity index 99%
index 6dca759..bfe1af1 100644 (file)
-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.
index 8efef26..5aa8b04 100644 (file)
@@ -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.
 ;;
index 0caebab..032e5da 100644 (file)
@@ -20,6 +20,8 @@
 (define-module (srfi srfi-11)
   :use-module (ice-9 syncase))
 
+(cond-expand-provide (current-module) '(srfi-11))
+
 ;;;;;;;;;;;;;;
 ;; let-values
 ;;
index 6125181..76fcc6d 100644 (file)
  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
                   (caddr rest)
                   (string-length s))))
       (hash (string-upcase (substring/shared s start end)) bound))))
+
index b947b91..1cea4e0 100644 (file)
@@ -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)
index 011bcdb..1746657 100644 (file)
@@ -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.
index 1a82ea0..fda6fb9 100644 (file)
@@ -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)
index 00d5837..3b65a69 100644 (file)
            date->string
            string->date))
 
+(cond-expand-provide (current-module) '(srfi-19))
+
 ;; :OPTIONAL is nice
 
 (define-syntax :optional
index aaedf97..4ffb49c 100644 (file)
@@ -21,3 +21,5 @@
   :use-module (ice-9 and-let-star))
 
 (export-syntax and-let*)
+
+(cond-expand-provide (current-module) '(srfi-2))
index 97e54cb..41aeeb3 100644 (file)
@@ -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))
index e9e97a2..5971d16 100644 (file)
@@ -21,3 +21,5 @@
   :use-module (ice-9 receive))
 
 (export-syntax receive)
+
+(cond-expand-provide (current-module) '(srfi-8))
index 7d24688..0df0fee 100644 (file)
@@ -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