using map-reduce instead of unclip reduce.

char-rename
John Benediktsson 2017-02-07 12:16:12 -08:00
parent 365a9203a8
commit 0f1d08a372
3 changed files with 5 additions and 5 deletions

View File

@ -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

View File

@ -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

View File

@ -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! ;