~ chicken-r7rs (master) /scheme.char.scm
Trap1(module scheme.char (char-ci=? char-ci<? char-ci>? char-ci<=? char-ci>=?2 string-ci=? string-ci<? string-ci>? string-ci<=? string-ci>=?3 char-alphabetic? char-numeric? char-whitespace?4 char-upper-case? char-lower-case?5 char-foldcase string-foldcase6 char-upcase char-downcase7 string-upcase string-downcase8 digit-value)910(import chicken.base chicken.fixnum chicken.type)11(import r7rs-support)12(import13 (except scheme14 char-ci=? char-ci<? char-ci>? char-ci<=? char-ci>=?15 string-ci=? string-ci<? string-ci>? string-ci<=? string-ci>=?)16 (prefix17 (only scheme18 char-ci=? char-ci<? char-ci>? char-ci<=? char-ci>=?19 string-ci=? string-ci<? string-ci>? string-ci<=? string-ci>=?)20 %))2122(import (only srfi-13 string-map string-upcase string-downcase))2324(: char-ci=? (char char #!rest char -> boolean))25(: char-ci<? (char char #!rest char -> boolean))26(: char-ci>? (char char #!rest char -> boolean))27(: char-ci<=? (char char #!rest char -> boolean))28(: char-ci>=? (char char #!rest char -> boolean))2930(define-extended-arity-comparator char-ci=? %char-ci=? ##sys#check-char)31(define-extended-arity-comparator char-ci<? %char-ci<? ##sys#check-char)32(define-extended-arity-comparator char-ci>? %char-ci>? ##sys#check-char)33(define-extended-arity-comparator char-ci<=? %char-ci<=? ##sys#check-char)34(define-extended-arity-comparator char-ci>=? %char-ci>=? ##sys#check-char)3536(: string-ci=? (string string #!rest string -> boolean))37(: string-ci<? (string string #!rest string -> boolean))38(: string-ci>? (string string #!rest string -> boolean))39(: string-ci<=? (string string #!rest string -> boolean))40(: string-ci>=? (string string #!rest string -> boolean))4142(define-extended-arity-comparator string-ci=? %string-ci=? ##sys#check-string)43(define-extended-arity-comparator string-ci<? %string-ci<? ##sys#check-string)44(define-extended-arity-comparator string-ci>? %string-ci>? ##sys#check-string)45(define-extended-arity-comparator string-ci<=? %string-ci<=? ##sys#check-string)46(define-extended-arity-comparator string-ci>=? %string-ci>=? ##sys#check-string)4748(: char-foldcase (char -> char))49(define (char-foldcase c) (char-downcase c))5051(: string-foldcase (string -> string))52(define (string-foldcase s) (string-map char-foldcase s))5354(: digit-value (char -> (or fixnum false)))55(define (digit-value c)56 (let ((i (char->integer c)))57 (and (fx>= i 48) (fx<= i 57) (fx- i 48)))))