(chibi strings) functions taking predicates now accept char-sets as well.

This commit is contained in:
Alex Shinn 2012-06-21 23:08:24 -07:00
parent a18deb68cc
commit 8fe6b8f7bd
2 changed files with 2 additions and 2 deletions

View file

@ -5,10 +5,10 @@
(define (string-null? str) (define (string-null? str)
(equal? str "")) (equal? str ""))
;; TODO: support character sets
(define (make-char-predicate x) (define (make-char-predicate x)
(cond ((procedure? x) x) (cond ((procedure? x) x)
((char? x) (lambda (ch) (eq? ch x))) ((char? x) (lambda (ch) (eq? ch x)))
((char-set? x) (lambda (ch) (char-set-contains? x ch)))
(else (error "invalid character predicate" x)))) (else (error "invalid character predicate" x))))
(define (complement pred) (lambda (x) (not (pred x)))) (define (complement pred) (lambda (x) (not (pred x))))

View file

@ -11,5 +11,5 @@
string-find string-find-right string-skip string-skip-right string-find string-find-right string-skip string-skip-right
string-fold string-fold-right string-map string-for-each string-fold string-fold-right string-map string-for-each
string-contains make-string-searcher) string-contains make-string-searcher)
(import (scheme) (chibi ast)) (import (scheme) (chibi ast) (chibi char-set base))
(include "strings.scm")) (include "strings.scm"))