using map-reduce instead of unclip reduce.
parent
365a9203a8
commit
0f1d08a372
|
@ -27,7 +27,7 @@ TUPLE: parts in out ;
|
|||
[ nip in>> ] [ out>> append ] 2bi parts boa ;
|
||||
|
||||
: intersection ( seq -- elts/f )
|
||||
[ f ] [ unclip [ intersect ] reduce ] if-empty ;
|
||||
[ f ] [ [ ] [ intersect ] map-reduce ] if-empty ;
|
||||
|
||||
: meaningful-integers ( partition table -- integers )
|
||||
[ [ in>> ] [ out>> ] bi ] dip
|
||||
|
|
|
@ -86,11 +86,11 @@ M: dimensions-not-equal summary drop "Dimensions do not match" ;
|
|||
|
||||
: d-product ( v -- d ) 1 scalar [ d* ] reduce ;
|
||||
|
||||
: d-sum ( v -- d ) unclip-slice [ d+ ] reduce ;
|
||||
: d-sum ( v -- d ) [ ] [ d+ ] map-reduce ;
|
||||
|
||||
: d-infimum ( v -- d ) unclip-slice [ d-min ] reduce ;
|
||||
: d-infimum ( v -- d ) [ ] [ d-min ] map-reduce ;
|
||||
|
||||
: d-supremum ( v -- d ) unclip-slice [ d-max ] reduce ;
|
||||
: d-supremum ( v -- d ) [ ] [ d-max ] map-reduce ;
|
||||
|
||||
\ d+ [ d- ] [ d- ] define-math-inverse
|
||||
\ d- [ d+ ] [ d- ] define-math-inverse
|
||||
|
|
|
@ -213,7 +213,7 @@ M: assoc (deref-aliases)
|
|||
[ [ (deref-aliases) ] bi-curry@ bi ] with2 assoc-map! ;
|
||||
|
||||
: merge-values ( seq -- assoc )
|
||||
reverse unclip [ assoc-union ] reduce ;
|
||||
reverse [ ] [ assoc-union ] map-reduce ;
|
||||
GENERIC: merge-value ( assoc value -- assoc' )
|
||||
M: sequence merge-value merge-values merge-value ;
|
||||
M: assoc merge-value over assoc-diff assoc-union! ;
|
||||
|
|
Loading…
Reference in New Issue