From 88f163d28fbfb068c28c98cae6472b13730e82c2 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Thu, 6 Feb 2014 20:49:29 -0800 Subject: [PATCH] vocabs: faster child-vocab?. --- core/vocabs/vocabs.factor | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/vocabs/vocabs.factor b/core/vocabs/vocabs.factor index 72f1791858..77b3d681d3 100644 --- a/core/vocabs/vocabs.factor +++ b/core/vocabs/vocabs.factor @@ -111,8 +111,13 @@ ERROR: no-vocab name ; sift ; : child-vocab? ( prefix name -- ? ) - 2dup = pick empty? or - [ 2drop t ] [ swap CHAR: . suffix head? ] if ; + swap [ drop t ] [ + 2dup = [ 2drop t ] [ + 2dup head? [ + length swap ?nth CHAR: . = + ] [ 2drop f ] if + ] if + ] if-empty ; : child-vocabs ( vocab -- seq ) vocab-name vocabs [ child-vocab? ] with filter ; -- 2.34.1