[ drop read1-ignoring ] [ 2nip ] if ; inline recursive
: push-ignoring ( accum ch -- accum )
- dup { f 0 } member-eq? [ drop ] [ over push ] if ; inline
+ dup { f 0 } member-eq? [ drop ] [ suffix! ] if ; inline
: read-ignoring ( n ignoring stream -- str/f )
[ [ <sbuf> ] keep ] 2dip
[ dupd proj v- ] each ;
: gram-schmidt ( seq -- orthogonal )
- V{ } clone [ over (gram-schmidt) over push ] reduce ;
+ V{ } clone [ over (gram-schmidt) suffix! ] reduce ;
: norm-gram-schmidt ( seq -- orthonormal )
gram-schmidt [ normalize ] map ;
SPECIALIZED-ARRAY: float
SPECIALIZED-VECTORS: float double ;
-[ 3 ] [ double-vector{ 1 2 } 3 over push length ] unit-test
+[ 3 ] [ double-vector{ 1 2 } 3 suffix! length ] unit-test
-[ t ] [ 10 float-array{ } new-resizable float-vector? ] unit-test
\ No newline at end of file
+[ t ] [ 10 float-array{ } new-resizable float-vector? ] unit-test
: (monotonic-split) ( seq quot -- newseq )
[ V{ } clone V{ } clone ] 2dip [ ] swap '[
- [ [ over push ] keep ] dip
- [ @ [ over push V{ } clone ] unless ] keep
- ] map-reduce over push over push { } like ; inline
+ [ [ suffix! ] keep ] dip
+ [ @ [ suffix! V{ } clone ] unless ] keep
+ ] map-reduce suffix! suffix! { } like ; inline
PRIVATE>
dup "v" get [ vector>> ] bi@ eq?
] unit-test
-[ VL{ } 3 over push ] must-fail
+[ VL{ } 3 suffix! ] must-fail
[ 4 VL{ "hi" } set-first ] must-fail
[ 0 ] [ 123 <byte-vector> length ] unit-test\r
\r
: do-it ( seq -- seq )\r
- 123 [ over push ] each-integer ;\r
+ 123 [ suffix! ] each-integer ;\r
\r
[ t ] [\r
3 <byte-vector> do-it\r
: do-line ( seq line -- seq )
dup first ">;" member-eq?
- [ over show-seq print dup delete-all ] [ over push ] if ;
+ [ over show-seq print dup delete-all ] [ suffix! ] if ;
HINTS: do-line vector string ;
] [
[ jamshred>> jamshred-update ]
[ relayout-1 ]
- [ 100 milliseconds sleep jamshred-loop ] tri
+ [ 100 milliseconds sleep jamshred-loop ] tri
] if ;
M: jamshred-gadget graft* ( gadget -- )
: handle-mouse-motion ( jamshred-gadget -- )
hand-loc get [
over last-hand-loc>> [
- v- (handle-mouse-motion)
+ v- (handle-mouse-motion)
] [ 2drop ] if*
] 2keep >>last-hand-loc drop ;
random-color >>color dup segment-number++ ;
: (random-segments) ( segments n -- segments )
- dup 0 > [
- [ dup last random-segment over push ] dip 1 - (random-segments)
- ] [ drop ] if ;
+ [ dup last random-segment suffix! ] times ;
CONSTANT: default-segment-radius 1
<PRIVATE
: (fib-upto) ( seq n limit -- seq )
- 2dup <= [ [ over push dup 2 tail* sum ] dip (fib-upto) ] [ 2drop ] if ;
+ 2dup <= [ [ suffix! dup 2 tail* sum ] dip (fib-upto) ] [ 2drop ] if ;
PRIVATE>
: (get-node-chain) ( node next-selector seq -- seq )
pick [
- over push >r [ call ] keep r> (get-node-chain)
+ suffix! >r [ call ] keep r> (get-node-chain)
] [
2nip
] if* ;