Andreas Rottmann's R6RS SRFI patches: 1, 8, 13, and 14
svn: r16170
This commit is contained in:
parent
11882b0819
commit
564f966f53
File diff suppressed because it is too large
Load Diff
|
@ -1 +1,104 @@
|
|||
#lang s-exp srfi/provider srfi/13
|
||||
#lang scheme
|
||||
|
||||
(require
|
||||
(rename-in srfi/13
|
||||
(reverse-list->string srfi13:reverse-list->string)
|
||||
(string->list srfi13:string->list)
|
||||
(string-concatenate srfi13:string-concatenate)
|
||||
(string-concatenate/shared srfi13:string-concatenate/shared)
|
||||
(string-concatenate-reverse srfi13:string-concatenate-reverse)
|
||||
(string-concatenate-reverse/shared srfi13:string-concatenate-reverse/shared)
|
||||
(string-join srfi13:string-join)
|
||||
(string-tokenize srfi13:string-tokenize))
|
||||
(only-in rnrs/base-6
|
||||
list->string)
|
||||
scheme/mpair)
|
||||
|
||||
(provide
|
||||
string-map string-map!
|
||||
string-fold string-unfold
|
||||
string-fold-right string-unfold-right
|
||||
string-tabulate string-for-each string-for-each-index
|
||||
string-every string-any
|
||||
string-hash string-hash-ci
|
||||
string-compare string-compare-ci
|
||||
string= string< string> string<= string>= string<>
|
||||
string-ci= string-ci< string-ci> string-ci<= string-ci>= string-ci<>
|
||||
string-downcase string-upcase string-titlecase
|
||||
string-downcase! string-upcase! string-titlecase!
|
||||
string-take string-take-right
|
||||
string-drop string-drop-right
|
||||
string-pad string-pad-right
|
||||
string-trim string-trim-right string-trim-both
|
||||
string-filter string-delete
|
||||
string-index string-index-right
|
||||
string-skip string-skip-right
|
||||
string-count
|
||||
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-contains string-contains-ci
|
||||
string-copy! substring/shared
|
||||
string-reverse string-reverse! reverse-list->string
|
||||
string-concatenate string-concatenate/shared string-concatenate-reverse
|
||||
string-concatenate-reverse/shared
|
||||
string-append/shared
|
||||
xsubstring string-xcopy!
|
||||
string-null?
|
||||
string-join
|
||||
string-tokenize
|
||||
string-replace
|
||||
; R5RS extended:
|
||||
string->list string-copy string-fill!
|
||||
; R5RS re-exports:
|
||||
string? make-string string-length string-ref string-set!
|
||||
string string-append list->string
|
||||
)
|
||||
|
||||
(define string->list
|
||||
(case-lambda
|
||||
((s start end)
|
||||
(list->mlist (srfi13:string->list s start end)))
|
||||
((s start)
|
||||
(list->mlist (srfi13:string->list s start)))
|
||||
((s)
|
||||
(list->mlist (srfi13:string->list s)))))
|
||||
|
||||
(define (reverse-list->string char-list)
|
||||
(srfi13:reverse-list->string (mlist->list char-list)))
|
||||
|
||||
(define (string-join string-list [delimiter " "] [grammar 'infix])
|
||||
(srfi13:string-join (mlist->list string-list) delimiter grammar))
|
||||
|
||||
(define (string-concatenate string-list)
|
||||
(srfi13:string-concatenate (mlist->list string-list)))
|
||||
|
||||
(define (string-concatenate/shared string-list)
|
||||
(srfi13:string-concatenate/shared (mlist->list string-list)))
|
||||
|
||||
(define (make-reverse-concatenator procedure)
|
||||
(case-lambda
|
||||
((string-list final-string end)
|
||||
(procedure (mlist->list string-list) final-string end))
|
||||
((string-list final-string)
|
||||
(procedure (mlist->list string-list) final-string))
|
||||
((string-list)
|
||||
(procedure (mlist->list string-list)))))
|
||||
|
||||
(define string-concatenate-reverse
|
||||
(make-reverse-concatenator srfi13:string-concatenate-reverse))
|
||||
|
||||
(define string-concatenate-reverse/shared
|
||||
(make-reverse-concatenator srfi13:string-concatenate-reverse/shared))
|
||||
|
||||
(define string-tokenize
|
||||
(case-lambda
|
||||
((s token-set start end)
|
||||
(srfi13:string-tokenize s token-set start end))
|
||||
((s token-set start)
|
||||
(srfi13:string-tokenize s token-set start))
|
||||
((s token-set)
|
||||
(srfi13:string-tokenize s token-set))
|
||||
((s)
|
||||
(srfi13:string-tokenize s))))
|
||||
|
|
|
@ -1 +1,86 @@
|
|||
#lang s-exp srfi/provider srfi/14
|
||||
#lang scheme
|
||||
(require
|
||||
(rename-in srfi/14
|
||||
(list->char-set srfi14:list->char-set)
|
||||
(list->char-set! srfi14:list->char-set!)
|
||||
(char-set->list srfi14:char-set->list))
|
||||
scheme/mpair)
|
||||
|
||||
(provide char-set?
|
||||
|
||||
char-set=
|
||||
char-set<=
|
||||
char-set-hash
|
||||
char-set-cursor
|
||||
char-set-ref
|
||||
char-set-cursor-next
|
||||
end-of-char-set?
|
||||
char-set-fold
|
||||
char-set-unfold
|
||||
char-set-unfold!
|
||||
char-set-for-each
|
||||
char-set-map
|
||||
char-set-copy
|
||||
rename
|
||||
list->char-set
|
||||
list->char-set!
|
||||
string->char-set
|
||||
string->char-set!
|
||||
char-set-filter
|
||||
char-set-filter!
|
||||
ucs-range->char-set
|
||||
ucs-range->char-set!
|
||||
->char-set
|
||||
char-set->list
|
||||
char-set->string
|
||||
char-set-size
|
||||
char-set-count
|
||||
char-set-contains?
|
||||
char-set-every
|
||||
char-set-any
|
||||
char-set-adjoin
|
||||
char-set-adjoin!
|
||||
char-set-delete
|
||||
char-set-delete!
|
||||
char-set-complement
|
||||
char-set-complement!
|
||||
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)
|
||||
|
||||
(define list->char-set
|
||||
(case-lambda
|
||||
((char-list base-cs)
|
||||
(srfi14:list->char-set (mlist->list char-list) base-cs))
|
||||
((char-list)
|
||||
(srfi14:list->char-set (mlist->list char-list)))))
|
||||
|
||||
(define (list->char-set! char-list base-cs)
|
||||
(list->char-set char-list base-cs))
|
||||
|
||||
(define (char-set->list cs)
|
||||
(list->mlist (srfi14:char-set->list cs)))
|
||||
|
|
|
@ -1 +1,13 @@
|
|||
#lang s-exp srfi/provider srfi/8
|
||||
#!r6rs
|
||||
|
||||
(library (srfi :8)
|
||||
(export receive)
|
||||
(import (rnrs base))
|
||||
|
||||
(define-syntax receive
|
||||
(syntax-rules ()
|
||||
((receive (var ...) ?producer . ?body)
|
||||
(let-values ([(var ...) ?producer]) . ?body))
|
||||
((receive ?vars ?producer . ?body)
|
||||
(call-with-values (lambda () ?producer) (lambda ?vars . ?body))))))
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user