Add 3cleave
parent
ff037a65df
commit
38cb4f13b6
|
@ -12,11 +12,17 @@ hashtables sorting ;
|
||||||
[ [ keep ] curry ] map concat [ drop ] append ;
|
[ [ keep ] curry ] map concat [ drop ] append ;
|
||||||
|
|
||||||
: 2cleave ( x seq -- )
|
: 2cleave ( x seq -- )
|
||||||
[ [ call ] 3keep drop ] each 2drop ;
|
[ 2keep ] each 2drop ;
|
||||||
|
|
||||||
: 2cleave>quot ( seq -- quot )
|
: 2cleave>quot ( seq -- quot )
|
||||||
[ [ 2keep ] curry ] map concat [ 2drop ] append ;
|
[ [ 2keep ] curry ] map concat [ 2drop ] append ;
|
||||||
|
|
||||||
|
: 3cleave ( x seq -- )
|
||||||
|
[ 3keep ] each 3drop ;
|
||||||
|
|
||||||
|
: 3cleave>quot ( seq -- quot )
|
||||||
|
[ [ 3keep ] curry ] map concat [ 3drop ] append ;
|
||||||
|
|
||||||
: spread>quot ( seq -- quot )
|
: spread>quot ( seq -- quot )
|
||||||
[ length [ >r ] <repetition> concat ]
|
[ length [ >r ] <repetition> concat ]
|
||||||
[ [ [ r> ] prepend ] map concat ] bi
|
[ [ [ r> ] prepend ] map concat ] bi
|
||||||
|
|
|
@ -43,6 +43,8 @@ IN: inference.transforms
|
||||||
|
|
||||||
\ 2cleave [ 2cleave>quot ] 1 define-transform
|
\ 2cleave [ 2cleave>quot ] 1 define-transform
|
||||||
|
|
||||||
|
\ 3cleave [ 3cleave>quot ] 1 define-transform
|
||||||
|
|
||||||
\ spread [ spread>quot ] 1 define-transform
|
\ spread [ spread>quot ] 1 define-transform
|
||||||
|
|
||||||
! Bitfields
|
! Bitfields
|
||||||
|
|
Loading…
Reference in New Issue