From 192dcd5690d901cbee91a1e197d2c1e3457ceeaa Mon Sep 17 00:00:00 2001 From: slava Date: Sat, 12 Aug 2006 20:56:45 +0000 Subject: [PATCH] Character union classes --- TODO.FACTOR.txt | 1 + library/collections/strings.factor | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/TODO.FACTOR.txt b/TODO.FACTOR.txt index 09ba0e4eb3..0c14204d59 100644 --- a/TODO.FACTOR.txt +++ b/TODO.FACTOR.txt @@ -22,6 +22,7 @@ + ui: +- fix ui listener delay - doc front page: document stack effect notation - better doc for accumulate, link from tree - we have trouble drawing rectangles diff --git a/library/collections/strings.factor b/library/collections/strings.factor index 22cb40d0ec..33d2254706 100644 --- a/library/collections/strings.factor +++ b/library/collections/strings.factor @@ -1,5 +1,5 @@ -! Copyright (C) 2003, 2005 Slava Pestov. -! See http://factor.sf.net/license.txt for BSD license. +! Copyright (C) 2003, 2006 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. IN: strings USING: generic kernel kernel-internals math sequences sequences-internals ; @@ -39,6 +39,9 @@ PREDICATE: integer digit CHAR: 0 CHAR: 9 between? ; PREDICATE: integer printable CHAR: \s CHAR: ~ between? ; PREDICATE: integer control "\0\e\r\n\t\u0008\u007f" member? ; +UNION: Letter letter LETTER ; +UNION: alpha Letter digit ; + : ch>lower ( n -- n ) dup LETTER? [ HEX: 20 + ] when ; : ch>upper ( n -- n ) dup letter? [ HEX: 20 - ] when ; : >lower ( str -- str ) [ ch>lower ] map ;