]> gitweb.factorcode.org Git - factor.git/commitdiff
cursors2: Delete for now
authorDoug Coleman <doug.coleman@gmail.com>
Sun, 11 Apr 2021 15:58:40 +0000 (10:58 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Sun, 11 Apr 2021 15:58:40 +0000 (10:58 -0500)
extra/cursors2/authors.txt [deleted file]
extra/cursors2/cursors2.factor [deleted file]

diff --git a/extra/cursors2/authors.txt b/extra/cursors2/authors.txt
deleted file mode 100644 (file)
index 7c1b2f2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Doug Coleman
diff --git a/extra/cursors2/cursors2.factor b/extra/cursors2/cursors2.factor
deleted file mode 100644 (file)
index 88b9bbb..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-! Copyright (C) 2021 Doug Coleman.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays constructors growable kernel math
-multiline sequences vectors ;
-IN: cursors2
-
-TUPLE: cursor ;
-TUPLE: sequence-input-cursor < cursor seq n ;
-CONSTRUCTOR: <sequence-input-cursor> sequence-input-cursor ( seq n -- obj ) ;
-
-TUPLE: sequence-output-cursor < cursor seq n ;
-CONSTRUCTOR: <sequence-output-cursor> sequence-output-cursor ( seq n -- obj ) ;
-
-TUPLE: mapping-cursor < cursor output input ;
-CONSTRUCTOR: <mapping-cursor> mapping-cursor ( output input -- obj ) ;
-
-TUPLE: alist-cusor < cursor alist n ;
-
-GENERIC: cursor-at ( cursor -- obj/f ? )
-M: sequence-input-cursor cursor-at
-    [ n>> ] [ seq>> ] bi
-    2dup bounds-check? [ nth t ] [ 2drop f f ] if ;
-
-GENERIC: cursor-inc-input ( cursor -- cursor' )
-M: sequence-input-cursor cursor-inc-input
-    [ seq>> ] [ n>> ] bi 1 + <sequence-input-cursor> ;
-M: mapping-cursor cursor-inc-input
-    [ cursor-inc-input ] change-input ;
-
-
-GENERIC: cursor-put ( obj cursor -- cursor' )
-M: sequence-output-cursor cursor-put
-    [ n>> ] [ seq>> ] bi
-    [ set-nth ] 2keep swap 1 + <sequence-output-cursor> ;
-
-M: mapping-cursor cursor-put
-    [ cursor-put ] change-output ;
-
-GENERIC: input>output-cursor ( cursor -- cursor' )
-M: array input>output-cursor length 0 <array> 0 <sequence-output-cursor> ;
-M: vector input>output-cursor capacity <vector> 0 <sequence-output-cursor> ;
-M: sequence-input-cursor input>output-cursor seq>> length <vector> 0 <sequence-output-cursor> ;
-
-
-GENERIC: >input-cursor ( obj -- cursor )
-M: array >input-cursor 0 <sequence-input-cursor> ;
-M: vector >input-cursor 0 <sequence-input-cursor> ;
-
-
-: input>mapping-cursor ( input-cursor -- mapping-cursor )
-    >input-cursor [ input>output-cursor ] keep <mapping-cursor> ;
-
-
-: (find2) ( cursor quot: ( cursor obj -- ? ) -- cursor/f elt/f ? )
-    over cursor-at [
-        [ swap [ f f ] if* ] 3keep
-        roll [ nip t ] [ drop [ cursor-inc-input ] dip (find2) ] if
-    ] [
-        2drop f f
-    ] if ; inline recursive
-
-: find2 ( obj quot -- elt/f i/f )
-    [ >input-cursor ] dip (find2) ; inline
-
-
-
-: each-cursor-advance ( cursor elt quot: ( cursor elt -- ) -- )
-    [ call ] 3keep nip
-    [ cursor-inc-input ] dip ; inline
-
-: mapping-cursor-advance ( cursor elt quot: ( cursor elt -- out ) -- mapping-cursor' quot )
-    [ call ] 3keep nip
-    [
-        [ output>> cursor-put ] [ input>> cursor-inc-input ] bi <mapping-cursor>
-    ] dip ; inline
-
-: filter-cursor-advance ( cursor elt quot: ( cursor elt -- ? ) -- mapping-cursor' quot )
-    [ call ] 3keep
-    [
-        swapd
-        '[ _ [ _ swap output>> cursor-put ] [ output>> ] if ]
-        [ input>> cursor-inc-input ] bi <mapping-cursor>
-    ] dip ; inline
-
-: (each2) ( cursor quot: ( cursor obj -- ) -- )
-    over cursor-at [
-        swap each-cursor-advance (each2)
-    ] [
-        3drop
-    ] if ; inline recursive
-
-: each2 ( obj quot -- elt/f i/f )
-    [ >input-cursor ] dip (each2) ; inline
-
-
-: (map2) ( cursor quot: ( cursor obj -- obj' ) -- out )
-    over input>> cursor-at [
-        swap mapping-cursor-advance (map2)
-    ] [
-        2drop output>>
-    ] if ; inline recursive
-
-: map2 ( obj quot -- obj' )
-    [ input>mapping-cursor ] dip (map2) ; inline
-
-
-: (filter2) ( cursor quot: ( cursor obj -- obj' ) -- out )
-    over input>> cursor-at [
-        swap filter-cursor-advance (filter2)
-    ] [
-        2drop output>>
-    ] if ; inline recursive
-
-: filter2 ( obj quot -- obj' )
-    [ input>mapping-cursor ] dip (filter2) ; inline