From 9cc761d8991f5cd60e559b11e8bef1ea7f863dd9 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sun, 27 Jul 2008 22:45:46 -0500 Subject: [PATCH] More efficient branch? word --- extra/sequences/deep/deep.factor | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/extra/sequences/deep/deep.factor b/extra/sequences/deep/deep.factor index 3ec793f458..2e50fa5411 100644 --- a/extra/sequences/deep/deep.factor +++ b/extra/sequences/deep/deep.factor @@ -5,10 +5,12 @@ IN: sequences.deep ! All traversal goes in postorder -: branch? ( object -- ? ) - dup sequence? [ - dup string? swap number? or not - ] [ drop f ] if ; +GENERIC: branch? ( object -- ? ) + +M: sequence branch? drop t ; +M: integer branch? drop f ; +M: string branch? drop f ; +M: object branch? drop f ; : deep-each ( obj quot: ( elt -- ) -- ) [ call ] 2keep over branch?