From 11d861a97c5ebc804ad1c8d172b46480c10e7757 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Wed, 25 Mar 2015 23:02:31 -0400 Subject: [PATCH] Added (char-upcase) --- trans.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/trans.scm b/trans.scm index 43aeecc2..f349a4e9 100644 --- a/trans.scm +++ b/trans.scm @@ -72,6 +72,13 @@ (define (char>? c1 c2 . cs) (Cyc-bin-op-char > c1 (cons c2 cs))) (define (char<=? c1 c2 . cs) (Cyc-bin-op-char <= c1 (cons c2 cs))) (define (char>=? c1 c2 . cs) (Cyc-bin-op-char >= c1 (cons c2 cs))) + (define (char-upcase c) + (if (char-lower-case? c) + (integer->char + (- (char->integer c) + (- (char->integer #\a) + (char->integer #\A)))) + c)) (define (char-alphabetic? c) (and (char>=? c #\A) (char<=? c #\z))) ;; ASCII-only (define (char-upper-case? c) (and (char>=? c #\A) (char<=? c #\Z))) ;; ASCII-only (define (char-lower-case? c) (and (char>=? c #\a) (char<=? c #\z))) ;; ASCII-only