From 47369e927c740bc6481b6da24b611965f7647b69 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Thu, 9 Apr 2009 15:29:38 -0500 Subject: [PATCH] add a combinator to spider --- extra/spider/unique-deque/unique-deque.factor | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/extra/spider/unique-deque/unique-deque.factor b/extra/spider/unique-deque/unique-deque.factor index ad46abdad3..b26797f8d5 100644 --- a/extra/spider/unique-deque/unique-deque.factor +++ b/extra/spider/unique-deque/unique-deque.factor @@ -29,3 +29,9 @@ TUPLE: unique-deque assoc deque ; : pop-url ( unique-deque -- todo-url ) deque>> pop-front ; : peek-url ( unique-deque -- todo-url ) deque>> peek-front ; + +: slurp-deque-when ( deque quot1 quot2: ( value -- ) -- ) + pick deque-empty? [ 3drop ] [ + [ [ pop-front dup ] 2dip slip [ t ] compose [ drop f ] if ] + [ roll [ slurp-deque-when ] [ 3drop ] if ] 3bi + ] if ; inline recursive