]> gitweb.factorcode.org Git - factor.git/commitdiff
models.arrow.multi corrections- uses macro
authorSam Anklesaria <sam@Tintin.local>
Wed, 6 May 2009 01:44:05 +0000 (20:44 -0500)
committerSam Anklesaria <sam@Tintin.local>
Wed, 6 May 2009 01:44:05 +0000 (20:44 -0500)
extra/models/arrow/multi/multi.factor

index 29e7fc547ec0ebdab95d1356607c44d7c22fdf57..b65173115558176a9f2aea88866d38a93929eb5e 100644 (file)
@@ -1,11 +1,11 @@
 ! Copyright (C) 2009 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: models.arrow models.product stack-checker accessors fry
-generalizations kernel ;
+USING: macros models.arrow models.product fry
+generalizations kernel sequences ;
 IN: models.arrow.multi
 
-: <n-arrow> ( quot int -- arrow )
-    [ narray <product> ] [ '[ _ firstn @ ] <arrow> ] bi ; inline
+MACRO: <n-arrow> ( int -- quot ) dup
+   '[ [ _ narray <product> ] dip [ _ firstn ] prepend <arrow> ] ;
 
-: <2arrow> ( a b quot -- arrow ) 2 <n-arrow> ;
-: <3arrow> ( a b c quot -- arrow ) 3 <n-arrow> ;
\ No newline at end of file
+: <2arrow> ( a b quot -- arrow ) 2 <n-arrow> ; inline
+: <3arrow> ( a b c quot -- arrow ) 3 <n-arrow> ; inline
\ No newline at end of file