Merge branch 'master' of git://factorcode.org/git/factor
commit
1fb594626f
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
USING: kernel ;
|
USING: kernel sequences macros ;
|
||||||
|
|
||||||
IN: combinators.cleave
|
IN: combinators.cleave
|
||||||
|
|
||||||
|
@ -19,6 +19,22 @@ IN: combinators.cleave
|
||||||
|
|
||||||
: 2bi ( obj obj quot quot -- val val ) >r 2keep r> call ; inline
|
: 2bi ( obj obj quot quot -- val val ) >r 2keep r> call ; inline
|
||||||
|
|
||||||
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
! General cleave
|
||||||
|
|
||||||
|
MACRO: cleave ( seq -- )
|
||||||
|
dup
|
||||||
|
[ drop [ dup ] ] map concat
|
||||||
|
swap
|
||||||
|
dup
|
||||||
|
[ drop [ >r ] ] map concat
|
||||||
|
swap
|
||||||
|
[ [ r> ] append ] map concat
|
||||||
|
3append
|
||||||
|
[ drop ]
|
||||||
|
append ;
|
||||||
|
|
||||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
! The spread family
|
! The spread family
|
||||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
@ -30,3 +46,14 @@ IN: combinators.cleave
|
||||||
|
|
||||||
: tetra* ( obj obj obj obj quot quot quot quot -- val val val val )
|
: tetra* ( obj obj obj obj quot quot quot quot -- val val val val )
|
||||||
>r roll >r tri* r> r> call ; inline
|
>r roll >r tri* r> r> call ; inline
|
||||||
|
|
||||||
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
! General spread
|
||||||
|
|
||||||
|
MACRO: spread ( seq -- )
|
||||||
|
dup
|
||||||
|
[ drop [ >r ] ] map concat
|
||||||
|
swap
|
||||||
|
[ [ r> ] swap append ] map concat
|
||||||
|
append ;
|
||||||
|
|
|
@ -8,7 +8,10 @@ then
|
||||||
echo macosx-x86-`./misc/wordsize`
|
echo macosx-x86-`./misc/wordsize`
|
||||||
elif [ \( `uname -s` = Linux \) -a \( `uname -m` = i686 \) ]
|
elif [ \( `uname -s` = Linux \) -a \( `uname -m` = i686 \) ]
|
||||||
then
|
then
|
||||||
echo linux-x86-`./misc/wordsize`
|
echo linux-x86-32
|
||||||
|
elif [ \( `uname -s` = Linux \) -a \( `uname -m` = x86_64 \) ]
|
||||||
|
then
|
||||||
|
echo linux-x86-64
|
||||||
elif [ \( `uname -o` = Cygwin \) -a \( `uname -m` = i686 \) ]
|
elif [ \( `uname -o` = Cygwin \) -a \( `uname -m` = i686 \) ]
|
||||||
then
|
then
|
||||||
echo winnt-x86-`./misc/wordsize`
|
echo winnt-x86-`./misc/wordsize`
|
||||||
|
|
Loading…
Reference in New Issue