diff --git a/extra/combinators/extras/extras.factor b/extra/combinators/extras/extras.factor index 4bb67a5835..81e49b89f3 100644 --- a/extra/combinators/extras/extras.factor +++ b/extra/combinators/extras/extras.factor @@ -30,6 +30,12 @@ MACRO: cleave-array ( quots -- ) : 4bi ( w x y z p q -- ) [ 4keep ] dip call ; inline +: 4bi* ( s t u v w x y z p q -- ) + [ 4dip ] dip call ; inline + +: 4bi@ ( s t u v w x y z quot -- ) + dup 4bi* ; inline + : 4tri ( w x y z p q r -- ) [ [ 4keep ] dip 4keep ] dip call ; inline