diff --git a/collects/srfi/%3a13.ss b/collects/srfi/%3a13.ss index 5b603c9982..222e5afff8 100644 --- a/collects/srfi/%3a13.ss +++ b/collects/srfi/%3a13.ss @@ -95,10 +95,10 @@ (define string-tokenize (case-lambda ((s token-set start end) - (srfi13:string-tokenize s token-set start end)) + (list->mlist (srfi13:string-tokenize s token-set start end))) ((s token-set start) - (srfi13:string-tokenize s token-set start)) + (list->mlist (srfi13:string-tokenize s token-set start))) ((s token-set) - (srfi13:string-tokenize s token-set)) + (list->mlist (srfi13:string-tokenize s token-set))) ((s) - (srfi13:string-tokenize s)))) + (list->mlist (srfi13:string-tokenize s))))) diff --git a/collects/srfi/%3a6.ss b/collects/srfi/%3a6.ss index 55669f5c1c..a76fffa789 100644 --- a/collects/srfi/%3a6.ss +++ b/collects/srfi/%3a6.ss @@ -1 +1,61 @@ -#lang s-exp srfi/provider srfi/6 +;; Copyright (c) 2009 Derick Eddington. +;; +;; Permission is hereby granted, free of charge, to any person obtaining a +;; copy of this software and associated documentation files (the "Software"), +;; to deal in the Software without restriction, including without limitation +;; the rights to use, copy, modify, merge, publish, distribute, sublicense, +;; and/or sell copies of the Software, and to permit persons to whom the +;; Software is furnished to do so, subject to the following conditions: + +;; The above copyright notice and this permission notice shall be included in +;; all copies or substantial portions of the Software. + +;; Except as contained in this notice, the name(s) of the above copyright +;; holders shall not be used in advertising or otherwise to promote the sale, +;; use or other dealings in this Software without prior written authorization. + +;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +;; THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +;; DEALINGS IN THE SOFTWARE. + +#!r6rs +(library (srfi :6) + (export + (rename (open-string-input-port open-input-string)) + open-output-string + get-output-string) + (import + (rnrs) + (only (scheme base) make-weak-hasheq hash-ref hash-set!)) + + (define accumed-ht (make-weak-hasheq)) + + (define (open-output-string) + (letrec ([sop + (make-custom-textual-output-port + "string-output-port" + (lambda (string start count) ; write! + (when (positive? count) + (let ([al (hash-ref accumed-ht sop)]) + (hash-set! accumed-ht sop + (cons (substring string start (+ start count)) al)))) + count) + #f ; get-position TODO? + #f ; set-position! TODO? + #f #| closed TODO? |# )]) + (hash-set! accumed-ht sop '()) + sop)) + + (define (get-output-string sop) + (if (output-port? sop) + (cond [(hash-ref accumed-ht sop #f) + => (lambda (al) (apply string-append (reverse al)))] + [else + (assertion-violation 'get-output-string "not a string-output-port" sop)]) + (assertion-violation 'get-output-string "not an output-port" sop))) + +) diff --git a/collects/srfi/%3a67.ss b/collects/srfi/%3a67.ss index 422aa0e75d..d9a4c529e1 100644 --- a/collects/srfi/%3a67.ss +++ b/collects/srfi/%3a67.ss @@ -1 +1,26 @@ -#lang s-exp srfi/provider srfi/67 +#!r6rs + +(library (srfi :67) + (export />=? >/>? >=/>=? >=/>? >=? >? + boolean-compare chain<=? chain=? chain>? + char-compare char-compare-ci + compare-by< compare-by<= compare-by=/< compare-by=/> compare-by> + compare-by>= complex-compare cond-compare + debug-compare default-compare + if-not=? if3 if<=? if=? if>? integer-compare + kth-largest list-compare list-compare-as-vector + max-compare min-compare not=? number-compare + pair-compare pair-compare-car pair-compare-cdr + pairwise-not=? rational-compare real-compare + refine-compare select-compare string-compare string-compare-ci + symbol-compare vector-compare vector-compare-as-list) + + (import (except (rnrs) error) + (rnrs r5rs) ; for modulo + (srfi :27 random-bits) ; for random-integer + (srfi :23 error) + (scheme include) + (only (scheme base) lib)) + +(include (lib "srfi/67/compare-reference.scm"))) diff --git a/collects/srfi/%3a98/os-environment-variables.ss b/collects/srfi/%3a98/os-environment-variables.ss new file mode 100644 index 0000000000..7b142a9d8c --- /dev/null +++ b/collects/srfi/%3a98/os-environment-variables.ss @@ -0,0 +1 @@ +#lang s-exp srfi/provider srfi/%3a98