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 |13| mzscheme
(require (lib "string.ss" "srfi" "13"))
(provide (all-from (lib "string.ss" "srfi" "13"))))
#; ; re-provides built-ins now
(module |13| mzscheme
(require (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-downcase string-downcase)
(rename s:string-titlecase string-titlecase)))

View File

@ -99,7 +99,9 @@
string-compare string-compare-ci
string= string< string> string<= string>= string<>
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-take string-take-right
string-drop string-drop-right
@ -945,6 +947,7 @@
;; Capitalize every contiguous alpha sequence: capitalise
;; first char, lowercase rest.
#; ; use built-in version
(define (s: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)))
@ -953,6 +956,7 @@
(let-string-start+end (start end) 'string-upcase! s maybe-start+end
(%string-map! char-upcase s start end)))
#; ; use built-in version
(define (s: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)))
@ -980,6 +984,7 @@
(let-string-start+end (start end) 'string-titlecase! s maybe-start+end
(%string-titlecase! s start end)))
#; ; use built-in version
(define (s:string-titlecase s . maybe-start+end)
(let-string-start+end (start end) 'string-titlecase! s maybe-start+end
(let ((ans (substring s start end)))