]> gitweb.factorcode.org Git - factor.git/commitdiff
combinators.extras: adding 3bi* and 3bi@.
authorJohn Benediktsson <mrjbq7@gmail.com>
Thu, 2 May 2013 01:34:27 +0000 (18:34 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Thu, 2 May 2013 01:35:02 +0000 (18:35 -0700)
extra/combinators/extras/extras-tests.factor
extra/combinators/extras/extras.factor

index 873c168e41065be71d1ef04a969716d5d380768b..594ec44c461dde7e4f89f867f7e51018b44a08eb 100644 (file)
@@ -23,3 +23,7 @@ IN: combinators.extras.tests
 ] unit-test
 
 { { 1 2 3 } } [ 1 { [ ] [ 1 + ] [ 2 + ] } cleave-array ] unit-test
+
+{ 2 15 } [ 1 2 3 4 5 6 [ - - ] [ + + ] 3bi* ] unit-test
+
+{ 2 5 } [ 1 2 3 4 5 6 [ - - ] 3bi@ ] unit-test
index 2787b50d2d813dd59414caa34be3ee45d62a75f9..28a87ef608a317513aebed1766869794819aeec3 100644 (file)
@@ -18,3 +18,9 @@ MACRO: cond-case ( assoc -- )
 
 MACRO: cleave-array ( quots -- )
     [ '[ _ cleave ] ] [ length '[ _ narray ] ] bi compose ;
+
+: 3bi* ( u v w x y z p q -- )
+    [ 3dip ] dip call ; inline
+
+: 3bi@ ( u v w x y z quot -- )
+    dup 3bi* ; inline