ascii_range.pony
primitive ASCIINUL
fun apply(): String => "\x00"
primitive ASCIIDigits
fun apply(): String => "0123456789"
primitive ASCIIWhiteSpace
fun apply(): String => " \t\n\r\x0b\x0c"
primitive ASCIIPunctuation
fun apply(): String => "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"
primitive ASCIILettersLower
fun apply(): String => "abcdefghijklmnopqrstuvwxyz"
primitive ASCIILettersUpper
fun apply(): String => "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
primitive ASCIILetters
fun apply(): String => ASCIILettersLower() + ASCIILettersUpper()
primitive ASCIIPrintable
fun apply(): String =>
ASCIIDigits()
+ ASCIILetters()
+ ASCIIPunctuation()
+ ASCIIWhiteSpace()
primitive ASCIINonPrintable
fun apply(): String =>
"\x01\x02\x03\x04\x05\x06\x07\x08\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
primitive ASCIIAll
"""
represents all ASCII characters
excluding the NUL (\x00) character for its special treatment in C strings
"""
fun apply(): String =>
ASCIIPrintable() + ASCIINonPrintable()
primitive ASCIIAllWithNUL
"""
represents all ASCII characters
including the NUL (\x00) character for its special treatment in C strings
"""
fun apply(): String =>
ASCIIAll() + ASCIINUL()
type ASCIIRange is
( ASCIINUL
| ASCIIDigits
| ASCIIWhiteSpace
| ASCIIPunctuation
| ASCIILettersLower
| ASCIILettersUpper
| ASCIILetters
| ASCIIPrintable
| ASCIINonPrintable
| ASCIIAll
| ASCIIAllWithNUL)