H{ } sequence>assoc ; inline
: histogram! ( hashtable seq -- hashtable )
- [ inc-at ] sequence>assoc! ;
+ [ ] [ inc-at ] sequence>assoc! ;
: histogram ( seq -- hashtable )
- [ inc-at ] sequence>hashtable ;
+ [ ] [ inc-at ] sequence>hashtable ;
: sorted-histogram ( seq -- alist )
- histogram >alist sort-values ;
+ histogram sort-values ;
- : collect-values ( seq quot: ( obj hashtable -- ) -- hash )
- '[ [ dup @ ] dip push-at ] sequence>hashtable ; inline
+ : collect-pairs ( seq quot -- hashtable )
+ [ push-at ] sequence>hashtable ; inline
+
+ : collect-by ( seq quot -- hashtable )
+ [ dup ] prepose collect-pairs ; inline
: mode ( seq -- x )
histogram >alist