From a002b7aa5fb4b88e1184c4b0d04aa4cac199a7df Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Mon, 19 Sep 2011 20:49:57 -0700 Subject: [PATCH] sequences: adding stack effects for change-nth, map-integers, and interleave. --- core/sequences/sequences.factor | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index 6ac1ffc534..9d52340abe 100644 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -346,7 +346,7 @@ PRIVATE> : glue ( seq1 seq2 seq3 -- newseq ) swap 3append ; inline -: change-nth ( i seq quot -- ) +: change-nth ( ..a i seq quot: ( ..a elt -- ..b newelt ) -- ..b ) [ [ nth ] dip call ] 3keep drop set-nth ; inline : min-length ( seq1 seq2 -- n ) [ length ] bi@ min ; inline @@ -414,7 +414,7 @@ PRIVATE> : reduce ( ... seq identity quot: ( ... prev elt -- ... next ) -- ... result ) swapd each ; inline -: map-integers ( len quot exemplar -- newseq ) +: map-integers ( ... len quot: ( ... i -- ... elt ) exemplar -- ... newseq ) [ over ] dip [ [ collect ] keep ] new-like ; inline : map-as ( ... seq quot: ( ... elt -- ... newelt ) exemplar -- ... newseq ) @@ -522,7 +522,7 @@ PRIVATE> : each-index ( ... seq quot: ( ... elt index -- ... ) -- ... ) (each-index) each-integer ; inline -: interleave ( seq between quot -- ) +: interleave ( ... seq between quot: ( ... elt -- ... ) -- ... ) pick empty? [ 3drop ] [ [ [ drop first-unsafe ] dip call ] [ [ rest-slice ] 2dip [ bi* ] 2curry each ]