make srfi-13 reuse string builtins

svn: r4617
This commit is contained in:
Eli Barzilay 2006-10-17 03:42:49 +00:00
parent 5145ea908c
commit 60b7acd56c
2 changed files with 15 additions and 7 deletions

View File

@ -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)))

View File

@ -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)))