combinators.cleave: more helpful effects
parent
1a4514b0f6
commit
8b8d2316b7
|
@ -7,10 +7,8 @@ IN: combinators.cleave
|
|||
! The cleaver family
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: bi ( obj quot quot -- val val ) >r keep r> call ; inline
|
||||
|
||||
: tri ( obj quot quot quot -- val val val )
|
||||
>r pick >r bi r> r> call ; inline
|
||||
: bi ( x p q -- p(x) q(x) ) >r keep r> call ; inline
|
||||
: tri ( x p q r -- p(x) q(x) r(x) ) >r pick >r bi r> r> call ; inline
|
||||
|
||||
: tetra ( obj quot quot quot quot -- val val val val )
|
||||
>r >r pick >r bi r> r> r> bi ; inline
|
||||
|
@ -39,9 +37,9 @@ MACRO: cleave ( seq -- )
|
|||
! The spread family
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: bi* ( obj obj quot quot -- val val ) >r swap slip r> call ; inline
|
||||
: bi* ( x y p q -- p(x) q(y) ) >r swap slip r> call ; inline
|
||||
|
||||
: tri* ( obj obj obj quot quot quot -- val val val )
|
||||
: tri* ( x y z p q r -- p(x) q(y) r(z) )
|
||||
>r rot >r bi* r> r> call ; inline
|
||||
|
||||
: tetra* ( obj obj obj obj quot quot quot quot -- val val val val )
|
||||
|
|
Loading…
Reference in New Issue