 : or-predicates ( quots -- quot )
     [ \ dup add* ] map [ [ t ] ] f short-circuit \ nip add ;
 
-MACRO: fast-member? ( str -- quot )
-    [ [ t ] 2array ] { } map-as [ drop f ] add [ case ] curry ;
-
 : <@literal [ nip ] curry <@ ;
 
 : <@delay [ curry ] curry <@ ;

USING: arrays combinators kernel lazy-lists math math.parser
namespaces parser parser-combinators parser-combinators.simple
promises quotations sequences combinators.lib strings macros
assocs prettyprint.backend ;
USE: io
IN: regexp

        CHAR: \s
        CHAR: \t CHAR: \n CHAR: \r
        HEX: c HEX: 7 HEX: 1b
    } member? ;

: java-printable? ( n -- ? )
    dup alpha? swap punct? or ;

: 'ordinary-char' ( -- parser )
    [ "\\^*+?|(){}[$" member? not ] satisfy
    [ char=-quot ] <@ ;

: 'octal-digit' ( -- parser ) [ octal-digit? ] satisfy ;
