sequences.extras: Add assoc-reduce and friends.
parent
80e2309e17
commit
4d2eaf98c1
|
@ -336,3 +336,17 @@ PRIVATE>
|
|||
|
||||
: reverse-as ( seq exemplar -- newseq )
|
||||
[ (reverse) ] [ like ] bi* ;
|
||||
|
||||
: assoc-reduce ( ... assoc identity quot: ( ... prev key value -- next ) -- ... result )
|
||||
[ first2 ] prepose reduce ; inline
|
||||
|
||||
: reduce-keys ( ... assoc identity quot: ( ... prev elt -- ... next ) -- ... result )
|
||||
[ drop ] prepose assoc-reduce ; inline
|
||||
|
||||
: reduce-values ( ... assoc identity quot: ( ... prev elt -- ... next ) -- ... result )
|
||||
[ nip ] prepose assoc-reduce ; inline
|
||||
|
||||
: sum-keys ( assoc -- n ) 0 [ + ] reduce-keys ; inline
|
||||
|
||||
: sum-values ( assoc -- n ) 0 [ + ] reduce-values ; inline
|
||||
|
||||
|
|
Loading…
Reference in New Issue