From 3abc7a95002a70f4c55717da2ca2a8839c3bd09b Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Thu, 27 Sep 2012 11:42:09 -0700 Subject: [PATCH] sequences.generalizations: adding "nall?". --- basis/sequences/generalizations/generalizations-docs.factor | 4 ++++ basis/sequences/generalizations/generalizations-tests.factor | 4 ++++ basis/sequences/generalizations/generalizations.factor | 3 +++ 3 files changed, 11 insertions(+) diff --git a/basis/sequences/generalizations/generalizations-docs.factor b/basis/sequences/generalizations/generalizations-docs.factor index 9ceff0c6ed..09e9cad940 100644 --- a/basis/sequences/generalizations/generalizations-docs.factor +++ b/basis/sequences/generalizations/generalizations-docs.factor @@ -114,6 +114,10 @@ HELP: nmap-reduce { $values { "map-quot" { $quotation "( element... -- intermediate )" } } { "reduce-quot" { $quotation "( prev intermediate -- next )" } } { "n" integer } } { $description "A generalization of " { $link map-reduce } " that can be applied to any number of sequences." } ; +HELP: nall? +{ $values { "seqs... " { $snippet "n" } " sequences on the datastack" } { "quot" { $quotation "( element... - ? )" } } { "n" integer } } +{ $description "A generalization of " { $link all? } " that can be applied to any number of sequences." } ; + ARTICLE: "sequences.generalizations" "Generalized sequence words" "The " { $vocab-link "sequences.generalizations" } " vocabulary defines generalized versions of various sequence operations." { $subsections diff --git a/basis/sequences/generalizations/generalizations-tests.factor b/basis/sequences/generalizations/generalizations-tests.factor index d3655786ca..bdce788615 100644 --- a/basis/sequences/generalizations/generalizations-tests.factor +++ b/basis/sequences/generalizations/generalizations-tests.factor @@ -136,3 +136,7 @@ D4d$ { 45 } [ { 1 2 3 } { 4 5 6 } { 7 8 9 } [ + + ] [ + ] 3 nmap-reduce ] unit-test + +{ t } [ + { 1 3 5 } { 2 4 6 } { 4 8 12 } [ + + odd? ] 3 nall? +] unit-test diff --git a/basis/sequences/generalizations/generalizations.factor b/basis/sequences/generalizations/generalizations.factor index 8fdb4eec38..3a1f8b2784 100644 --- a/basis/sequences/generalizations/generalizations.factor +++ b/basis/sequences/generalizations/generalizations.factor @@ -121,3 +121,6 @@ MACRO: nmap-reduce ( map-quot reduce-quot n -- quot ) [ [ first ] _ napply @ 1 ] _ nkeep _ _ (neach) (each-integer) ] ; + +: nall? ( seqs... quot n -- ) + (neach) all-integers? ; inline