From: Doug Coleman Date: Sun, 16 Dec 2018 19:30:55 +0000 (-0600) Subject: sequences.extras: Allow row variables in loop>array etc. X-Git-Tag: 0.99~4011 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=9c297597751269e2bcd5deeb5b650084ac072a45 sequences.extras: Allow row variables in loop>array etc. --- diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index 8011069993..cb75baa409 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -444,16 +444,16 @@ PRIVATE> : last? ( ... seq quot: ( ... elt -- ... ? ) -- ... ? ) [ last ] dip call ; inline : nth? ( ... n seq quot: ( ... elt -- ... ? ) -- ... ? ) [ nth ] dip call ; inline -: loop>sequence ( quot: ( -- obj/f ) exemplar -- seq ) +: loop>sequence ( quot: ( ..a -- ..a obj/f ) exemplar -- seq ) [ '[ [ @ [ [ , ] when* ] keep ] loop ] ] dip make ; inline -: loop>array ( quot: ( -- obj/f ) -- seq ) +: loop>array ( quot: ( ..a -- ..a obj/f ) -- seq ) { } loop>sequence ; inline -: loop>sequence* ( quot: ( -- obj ? ) exemplar -- seq ) +: loop>sequence* ( quot: ( ..a -- ..a obj ? ) exemplar -- seq ) [ '[ [ @ [ [ , ] when* ] [ ] bi* ] loop ] ] dip make ; inline -: loop>array* ( quot: ( -- obj ? ) -- seq ) +: loop>array* ( quot: ( ..a -- ..a obj ? ) -- seq ) { } loop>sequence* ; inline