X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=blobdiff_plain;f=extra%2Fsequences%2Fproduct%2Fproduct.factor;h=9291fad3c080d3cfea1d41dda1273503d3729ecb;hp=665d43f0cd00ed646f236778158ec6bf41dbfbcd;hb=3f3d57032bf29190e9bee12d168a4bce6d74653c;hpb=cd1bb8f4c8afba318249c7b756a45aa1c46ea51e diff --git a/extra/sequences/product/product.factor b/extra/sequences/product/product.factor index 665d43f0cd..9291fad3c0 100644 --- a/extra/sequences/product/product.factor +++ b/extra/sequences/product/product.factor @@ -23,11 +23,11 @@ M: product-sequence length lengths>> product ; [ lengths>> ns ] [ nip sequences>> ] 2bi ; :: (carry-n) ( ns lengths i -- ) - ns length i 1+ = [ + ns length i 1 + = [ i ns nth i lengths nth = [ 0 i ns set-nth - i 1+ ns [ 1+ ] change-nth - ns lengths i 1+ (carry-n) + i 1 + ns [ 1 + ] change-nth + ns lengths i 1 + (carry-n) ] when ] unless ; @@ -35,7 +35,7 @@ M: product-sequence length lengths>> product ; 0 (carry-n) ; : product-iter ( ns lengths -- ) - [ 0 over [ 1+ ] change-nth ] dip carry-ns ; + [ 0 over [ 1 + ] change-nth ] dip carry-ns ; : start-product-iter ( sequence-product -- ns lengths ) [ [ drop 0 ] map ] [ [ length ] map ] bi ; @@ -57,7 +57,7 @@ M: product-sequence nth 0 :> i! sequences [ length ] [ * ] map-reduce sequences [| result | - sequences [ quot call i result set-nth i 1+ i! ] product-each + sequences [ quot call i result set-nth i 1 + i! ] product-each result ] new-like ; inline