make srfi-13 reuse string builtins
svn: r4617
This commit is contained in:
parent
5145ea908c
commit
60b7acd56c
|
@ -1,4 +1,9 @@
|
||||||
;; module loader for SRFI-13
|
;; module loader for SRFI-13
|
||||||
|
(module |13| mzscheme
|
||||||
|
(require (lib "string.ss" "srfi" "13"))
|
||||||
|
(provide (all-from (lib "string.ss" "srfi" "13"))))
|
||||||
|
|
||||||
|
#; ; re-provides built-ins now
|
||||||
(module |13| mzscheme
|
(module |13| mzscheme
|
||||||
(require (lib "string.ss" "srfi" "13"))
|
(require (lib "string.ss" "srfi" "13"))
|
||||||
(provide (all-from-except (lib "string.ss" "srfi" "13")
|
(provide (all-from-except (lib "string.ss" "srfi" "13")
|
||||||
|
@ -6,5 +11,3 @@
|
||||||
(rename s:string-upcase string-upcase)
|
(rename s:string-upcase string-upcase)
|
||||||
(rename s:string-downcase string-downcase)
|
(rename s:string-downcase string-downcase)
|
||||||
(rename s:string-titlecase string-titlecase)))
|
(rename s:string-titlecase string-titlecase)))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,9 @@
|
||||||
string-compare string-compare-ci
|
string-compare string-compare-ci
|
||||||
string= string< string> string<= string>= string<>
|
string= string< string> string<= string>= string<>
|
||||||
string-ci= string-ci< string-ci> string-ci<= string-ci>= string-ci<>
|
string-ci= string-ci< string-ci> string-ci<= string-ci>= string-ci<>
|
||||||
s:string-downcase s:string-upcase s:string-titlecase
|
;; use built-in versions
|
||||||
|
;; s:string-downcase s:string-upcase s:string-titlecase
|
||||||
|
string-downcase string-upcase string-titlecase
|
||||||
string-downcase! string-upcase! string-titlecase!
|
string-downcase! string-upcase! string-titlecase!
|
||||||
string-take string-take-right
|
string-take string-take-right
|
||||||
string-drop string-drop-right
|
string-drop string-drop-right
|
||||||
|
@ -945,6 +947,7 @@
|
||||||
;; Capitalize every contiguous alpha sequence: capitalise
|
;; Capitalize every contiguous alpha sequence: capitalise
|
||||||
;; first char, lowercase rest.
|
;; first char, lowercase rest.
|
||||||
|
|
||||||
|
#; ; use built-in version
|
||||||
(define (s:string-upcase s . maybe-start+end)
|
(define (s:string-upcase s . maybe-start+end)
|
||||||
(let-string-start+end (start end) 'string-upcase s maybe-start+end
|
(let-string-start+end (start end) 'string-upcase s maybe-start+end
|
||||||
(%string-map char-upcase s start end)))
|
(%string-map char-upcase s start end)))
|
||||||
|
@ -953,6 +956,7 @@
|
||||||
(let-string-start+end (start end) 'string-upcase! s maybe-start+end
|
(let-string-start+end (start end) 'string-upcase! s maybe-start+end
|
||||||
(%string-map! char-upcase s start end)))
|
(%string-map! char-upcase s start end)))
|
||||||
|
|
||||||
|
#; ; use built-in version
|
||||||
(define (s:string-downcase s . maybe-start+end)
|
(define (s:string-downcase s . maybe-start+end)
|
||||||
(let-string-start+end (start end) 'string-downcase s maybe-start+end
|
(let-string-start+end (start end) 'string-downcase s maybe-start+end
|
||||||
(%string-map char-downcase s start end)))
|
(%string-map char-downcase s start end)))
|
||||||
|
@ -980,6 +984,7 @@
|
||||||
(let-string-start+end (start end) 'string-titlecase! s maybe-start+end
|
(let-string-start+end (start end) 'string-titlecase! s maybe-start+end
|
||||||
(%string-titlecase! s start end)))
|
(%string-titlecase! s start end)))
|
||||||
|
|
||||||
|
#; ; use built-in version
|
||||||
(define (s:string-titlecase s . maybe-start+end)
|
(define (s:string-titlecase s . maybe-start+end)
|
||||||
(let-string-start+end (start end) 'string-titlecase! s maybe-start+end
|
(let-string-start+end (start end) 'string-titlecase! s maybe-start+end
|
||||||
(let ((ans (substring s start end)))
|
(let ((ans (substring s start end)))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user