]> gitweb.factorcode.org Git - factor.git/commitdiff
No need for fast-member? optimization
authorSlava Pestov <slava@factorcode.org>
Sat, 8 Dec 2007 22:47:09 +0000 (17:47 -0500)
committerSlava Pestov <slava@factorcode.org>
Sat, 8 Dec 2007 22:47:09 +0000 (17:47 -0500)
extra/regexp/regexp.factor

index 1447456e54a4d25188d42f517b3ce74b3e801086..9d696319fcd81a663500ad59e987eab923d46581 100755 (executable)
@@ -1,6 +1,6 @@
 USING: arrays combinators kernel lazy-lists math math.parser
 namespaces parser parser-combinators parser-combinators.simple
-promises quotations sequences combinators.lib strings macros
+promises quotations sequences combinators.lib strings
 assocs prettyprint.backend ;
 USE: io
 IN: regexp
@@ -23,9 +23,6 @@ SYMBOL: ignore-case?
 : 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 <@ ;
@@ -51,7 +48,7 @@ PRIVATE>
     swap HEX: 7f = or ;
 
 : punct? ( n -- ? )
-    "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" fast-member? ;
+    "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" member? ;
 
 : c-identifier-char? ( ch -- ? )
     dup alpha? swap CHAR: _ = or ;
@@ -61,13 +58,13 @@ PRIVATE>
         CHAR: \s
         CHAR: \t CHAR: \n CHAR: \r
         HEX: c HEX: 7 HEX: 1b
-    } fast-member? ;
+    } member? ;
 
 : java-printable? ( n -- ? )
     dup alpha? swap punct? or ;
 
 : 'ordinary-char' ( -- parser )
-    [ "\\^*+?|(){}[$" fast-member? not ] satisfy
+    [ "\\^*+?|(){}[$" member? not ] satisfy
     [ char=-quot ] <@ ;
 
 : 'octal-digit' ( -- parser ) [ octal-digit? ] satisfy ;