]> gitweb.factorcode.org Git - factor.git/blob - basis/ascii/ascii.factor
Create basis vocab root
[factor.git] / basis / ascii / ascii.factor
1 ! Copyright (C) 2005, 2008 Slava Pestov.\r
2 ! See http://factorcode.org/license.txt for BSD license.\r
3 USING: kernel math math.order sequences ;\r
4 IN: ascii\r
5 \r
6 : blank? ( ch -- ? ) " \t\n\r" member? ; inline\r
7 \r
8 : letter? ( ch -- ? ) CHAR: a CHAR: z between? ; inline\r
9 \r
10 : LETTER? ( ch -- ? ) CHAR: A CHAR: Z between? ; inline\r
11 \r
12 : digit? ( ch -- ? ) CHAR: 0 CHAR: 9 between? ; inline\r
13 \r
14 : printable? ( ch -- ? ) CHAR: \s CHAR: ~ between? ; inline\r
15 \r
16 : control? ( ch -- ? )\r
17     "\0\e\r\n\t\u000008\u00007f" member? ; inline\r
18 \r
19 : quotable? ( ch -- ? )\r
20     dup printable? [ "\"\\" member? not ] [ drop f ] if ; inline\r
21 \r
22 : Letter? ( ch -- ? )\r
23     dup letter? [ drop t ] [ LETTER? ] if ; inline\r
24 \r
25 : alpha? ( ch -- ? )\r
26     dup Letter? [ drop t ] [ digit? ] if ; inline\r