From 5a8f9284ab294a680b6880be08f05e90f9bcca3e Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Thu, 28 Sep 2017 22:41:21 -0500 Subject: [PATCH] sequences.extras: add count-head and count-tail --- extra/sequences/extras/extras.factor | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index b964e52af8..da8260b5de 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -620,3 +620,10 @@ PRIVATE> : drop-while ( ... seq quot: ( ... elt -- ... ? ) -- tail-slice ) [ '[ @ not ] find drop ] 2keep drop swap [ dup length ] unless* tail-slice ; inline + +: count-head ( seq quot -- n ) + [ not ] compose find drop ; inline + +: count-tail ( seq quot -- n ) + [ not ] compose [ find-last drop ] 2keep drop + length swap [ - 1 - ] when* ; inline \ No newline at end of file