sequences: new words: prefix and suffix
parent
1782880f8c
commit
01d0ab20c6
|
|
@ -478,18 +478,31 @@ M: sequence <=>
|
||||||
|
|
||||||
: push-new ( elt seq -- ) [ delete ] 2keep push ;
|
: push-new ( elt seq -- ) [ delete ] 2keep push ;
|
||||||
|
|
||||||
|
: add* ( seq elt -- newseq )
|
||||||
|
over >r over length 1+ r> [
|
||||||
|
[ 0 swap set-nth-unsafe ] keep
|
||||||
|
[ 1 swap copy ] keep
|
||||||
|
] new-like ;
|
||||||
|
|
||||||
|
: prefix ( seq elt -- newseq )
|
||||||
|
over >r over length 1+ r> [
|
||||||
|
[ 0 swap set-nth-unsafe ] keep
|
||||||
|
[ 1 swap copy ] keep
|
||||||
|
] new-like ;
|
||||||
|
|
||||||
: add ( seq elt -- newseq )
|
: add ( seq elt -- newseq )
|
||||||
over >r over length 1+ r> [
|
over >r over length 1+ r> [
|
||||||
[ >r over length r> set-nth-unsafe ] keep
|
[ >r over length r> set-nth-unsafe ] keep
|
||||||
[ 0 swap copy ] keep
|
[ 0 swap copy ] keep
|
||||||
] new-like ;
|
] new-like ;
|
||||||
|
|
||||||
: add* ( seq elt -- newseq )
|
: suffix ( seq elt -- newseq )
|
||||||
over >r over length 1+ r> [
|
over >r over length 1+ r> [
|
||||||
[ 0 swap set-nth-unsafe ] keep
|
[ >r over length r> set-nth-unsafe ] keep
|
||||||
[ 1 swap copy ] keep
|
[ 0 swap copy ] keep
|
||||||
] new-like ;
|
] new-like ;
|
||||||
|
|
||||||
|
|
||||||
: seq-diff ( seq1 seq2 -- newseq )
|
: seq-diff ( seq1 seq2 -- newseq )
|
||||||
swap [ member? not ] curry subset ;
|
swap [ member? not ] curry subset ;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue