+++ /dev/null
-USING: sequences.next tools.test arrays kernel math sequences ;
-
-[ { { 1 0 } { 2 1 } { f 2 } } ] [ 3 [ 2array ] map-next ] unit-test
-
-[ 8 ] [ 3 [ 1+ ] map 0 swap [ swap [ + + ] [ drop ] if* ] each-next ] unit-test
+++ /dev/null
-USING: kernel sequences sequences.private math ;
-IN: sequences.next
-
-<PRIVATE
-
-: iterate-seq ( seq quot -- i seq quot )
- [ [ length ] keep ] dip ; inline
-
-: (map-next) ( i seq quot -- )
- ! this uses O(n) more bounds checks than is really necessary
- [ [ [ 1+ ] dip ?nth ] 2keep nth-unsafe ] dip call ; inline
-
-PRIVATE>
-
-: each-next ( seq quot: ( next-elt elt -- ) -- )
- iterate-seq [ (map-next) ] 2curry each-integer ; inline
-
-: map-next ( seq quot: ( next-elt elt -- newelt ) -- newseq )
- over dup length swap new-sequence [
- iterate-seq [ (map-next) ] 2curry
- ] dip [ collect ] keep ; inline
! Copyright (C) 2008 Daniel Ehrenberg.
! See http://factorcode.org/license.txt for BSD license.
-USING: unicode.data sequences sequences.next namespaces
+USING: unicode.data sequences namespaces
sbufs make unicode.syntax unicode.normalize math hints
unicode.categories combinators unicode.syntax assocs
strings splitting kernel accessors unicode.breaks fry locals ;