Merge branch 'master' of git://factorcode.org/git/factor
commit
d93384bbcd
|
@ -90,7 +90,7 @@ M: assoc assoc-clone-like ( assoc exemplar -- newassoc )
|
||||||
] if ; inline recursive
|
] if ; inline recursive
|
||||||
|
|
||||||
: assoc-stack ( key seq -- value )
|
: assoc-stack ( key seq -- value )
|
||||||
dup length 1- swap (assoc-stack) ; flushable
|
[ length 1- ] keep (assoc-stack) ; flushable
|
||||||
|
|
||||||
: assoc-subset? ( assoc1 assoc2 -- ? )
|
: assoc-subset? ( assoc1 assoc2 -- ? )
|
||||||
[ swapd at* [ = ] [ 2drop f ] if ] curry assoc-all? ;
|
[ swapd at* [ = ] [ 2drop f ] if ] curry assoc-all? ;
|
||||||
|
|
|
@ -33,7 +33,7 @@ ERROR: no-method object generic ;
|
||||||
] change-at ;
|
] change-at ;
|
||||||
|
|
||||||
: flatten-method ( class method assoc -- )
|
: flatten-method ( class method assoc -- )
|
||||||
[ dup flatten-class keys swap ] 2dip [
|
[ [ flatten-class keys ] keep ] 2dip [
|
||||||
[ spin ] dip push-method
|
[ spin ] dip push-method
|
||||||
] 3curry each ;
|
] 3curry each ;
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ TUPLE: hashtable
|
||||||
[ deleted>> 10 fixnum*fast ] [ count>> ] bi fixnum> ; inline
|
[ deleted>> 10 fixnum*fast ] [ count>> ] bi fixnum> ; inline
|
||||||
|
|
||||||
: grow-hash ( hash -- )
|
: grow-hash ( hash -- )
|
||||||
[ dup >alist swap assoc-size 1+ ] keep
|
[ [ >alist ] [ assoc-size 1+ ] bi ] keep
|
||||||
[ reset-hash ] keep
|
[ reset-hash ] keep
|
||||||
swap (rehash) ; inline
|
swap (rehash) ; inline
|
||||||
|
|
||||||
|
|
|
@ -331,7 +331,7 @@ PRIVATE>
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
: (each) ( seq quot -- n quot' )
|
: (each) ( seq quot -- n quot' )
|
||||||
[ dup length swap [ nth-unsafe ] curry ] dip compose ; inline
|
[ [ length ] keep [ nth-unsafe ] curry ] dip compose ; inline
|
||||||
|
|
||||||
: (collect) ( quot into -- quot' )
|
: (collect) ( quot into -- quot' )
|
||||||
[ [ keep ] dip set-nth-unsafe ] 2curry ; inline
|
[ [ keep ] dip set-nth-unsafe ] 2curry ; inline
|
||||||
|
@ -453,10 +453,10 @@ PRIVATE>
|
||||||
over [ 2pusher [ each ] 2dip ] dip tuck [ like ] 2bi@ ; inline
|
over [ 2pusher [ each ] 2dip ] dip tuck [ like ] 2bi@ ; inline
|
||||||
|
|
||||||
: monotonic? ( seq quot -- ? )
|
: monotonic? ( seq quot -- ? )
|
||||||
[ dup length 1- swap ] dip (monotonic) all? ; inline
|
[ [ length 1- ] keep ] dip (monotonic) all? ; inline
|
||||||
|
|
||||||
: interleave ( seq between quot -- )
|
: interleave ( seq between quot -- )
|
||||||
[ (interleave) ] 2curry [ dup length swap ] dip 2each ; inline
|
[ (interleave) ] 2curry [ [ length ] keep ] dip 2each ; inline
|
||||||
|
|
||||||
: accumulator ( quot -- quot' vec )
|
: accumulator ( quot -- quot' vec )
|
||||||
V{ } clone [ [ push ] curry compose ] keep ; inline
|
V{ } clone [ [ push ] curry compose ] keep ; inline
|
||||||
|
@ -679,7 +679,7 @@ PRIVATE>
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
: joined-length ( seq glue -- n )
|
: joined-length ( seq glue -- n )
|
||||||
[ dup sum-lengths swap length 1 [-] ] dip length * + ;
|
[ [ sum-lengths ] [ length 1 [-] ] bi ] dip length * + ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue