diff --git a/mes/module/srfi/srfi-14.mes b/mes/module/srfi/srfi-14.mes index a16d16ce..d903f73c 100644 --- a/mes/module/srfi/srfi-14.mes +++ b/mes/module/srfi/srfi-14.mes @@ -47,9 +47,16 @@ (set-cdr! (last-pair base) (string->list x)) base) +(define (char-set-adjoin cs . chars) + (append cs chars)) + (define (char-set-contains? cs x) (and (memq x cs) #t)) +(define (char-set-complement cs) + (let ((ascii (map integer->char (iota 128)))) + (list->char-set (filter (lambda (c) (not (char-set-contains? cs c))) ascii)))) + (define (char-whitespace? c) (char-set-contains? char-set:whitespace c))