The infrastructure is now in place to test for character classes other than is_digit. Character class functions may be specific to one class, or generic; this split is controlled by the sequence of the enums in chartype.h
Currently only is_digit has a dedicated function call slot, as this is the only one that is actually implemented for all chartypes. The generic function for usascii handles the standard glibc set (alnum,alpha,etc.); unicode awaits the interface to ICU. Calls to the charclass functions are done via macros of the form Parrot_char_is_digit(chartype, value). These macros are generated to point to either a dedicated slot or the generic function, as appropriate. Note that this generation was achieved by changing config/gen/parrot_include.pl to allow execution of perl code during the parsing of header files - somebody who knows this stuff better than I do may want to check to see if I've broken anything too badly. Regards Peter Gibbs EmKel Systems