From 4f83e2057ad090d357a61767a0e858cd1b65ca14 Mon Sep 17 00:00:00 2001 From: Daniel Ehrenberg Date: Sat, 21 Mar 2009 03:17:20 -0500 Subject: [PATCH] Making unicode.categories.syntax use member?, simplifying the code --- basis/unicode/categories/syntax/syntax.factor | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/basis/unicode/categories/syntax/syntax.factor b/basis/unicode/categories/syntax/syntax.factor index 93f7919b6b..87f143aadc 100644 --- a/basis/unicode/categories/syntax/syntax.factor +++ b/basis/unicode/categories/syntax/syntax.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2008, 2009 Daniel Ehrenberg. ! See http://factorcode.org/license.txt for BSD license. -USING: unicode.data kernel math sequences parser +USING: unicode.data kernel math sequences parser unicode.data.private bit-arrays namespaces sequences.private arrays classes.parser assocs classes.predicate sets fry splitting accessors ; IN: unicode.categories.syntax @@ -10,12 +10,8 @@ SYMBOLS: Cn Lu Ll Lt Lm Lo Mn Mc Me Nd Nl No Pc Pd Ps Pe Pi Pf Po Sm Sc Sk So Zs category-array ( categories -- bitarray ) - categories [ swap member? ] with map >bit-array ; - : [category] ( categories code -- quot ) - [ >category-array ] dip - '[ dup category# _ nth-unsafe [ drop t ] _ if ] ; + '[ dup category# _ member? [ drop t ] _ if ] ; : integer-predicate-class ( word predicate -- ) integer swap define-predicate-class ; @@ -28,7 +24,7 @@ SYMBOLS: Cn Lu Ll Lt Lm Lo Mn Mc Me Nd Nl No Pc Pd Ps Pe Pi Pf Po Sm Sc Sk So Zs : parse-category ( -- word tokens quot ) CREATE-CLASS \ ; parse-until { | } split1 - [ [ name>> ] map ] + [ [ name>> categories-map at ] map ] [ [ [ ] like ] [ [ drop f ] ] if* ] bi* ; PRIVATE>