Вы можете использовать char-ci>=?
. Например.
(char-ci>=? #\l #\n) ; ==> #f
(char-ci>=? #\n #\n) ; ==> #t
(char-ci>=? #\p #\n) ; ==> #t
Теперь char>=?
совпадает с >=
для чисел и (char>=? #\A #\b) ; ==> #t
. ci
означает нечувствительность к регистру, поэтому (char>=? #\A #\b) ; ==> #f
.
PS: Я думаю, что вы можете сделать только с одним предикатом, и он будет работать только с if
. Либо он равен или больше #\n
, либо нет. Вы также можете выполнить if
внутри математической операции, всегда добавляя (integer->char (+ (char->integer c) (if (char-ci>=? ...) -13 13))