} 1|| ;
: sort-articles ( seq -- newseq )
- [ dup article-title ] { } map>assoc sort-values keys ;
+ [ article-title ] zip-with sort-values keys ;
: all-errors ( -- seq )
all-words [ error? ] filter sort-articles ;
: <links-table> ( model quot -- table )
'[
- @ sort-articles
- [ dup article-title ] { } map>assoc
+ @ sort-articles [ article-title ] zip-with
] <arrow> link-renderer [ second ] <search-table> dup table>>
[ invoke-primary-operation ] >>action
[ hide-glass ] >>hook
changed-definitions get filter-word-defs ;
M: f recompile
- [ dup def>> ] { } map>assoc ;
+ [ def>> ] zip-with ;
M: f process-forgotten-words drop ;
<PRIVATE
: locations ( words -- alist )
- [ dup where ] { } map>assoc sift-values ;
+ [ where ] zip-with sift-values ;
: ctag ( word path lineno -- str )
[
] assoc-filter ;
M: sequence run-lint ( seq -- seq )
- [ dup lint ] { } map>assoc trim-self
+ [ lint ] zip-with trim-self
[ second empty? ] reject filter-symbols ;
M: word run-lint ( word -- seq ) 1array run-lint ;
: noisy-words ( -- alist )
all-words flatten-generics
- [ dup word-noise-factor ] { } map>assoc
+ [ word-noise-factor ] zip-with
sort-values reverse ;
: noise. ( alist -- )
] if-empty ;
: noisy-vocabs ( -- alist )
- loaded-vocab-names [ dup vocab-noise-factor ] { } map>assoc
+ loaded-vocab-names [ vocab-noise-factor ] zip-with
sort-values reverse ;
: noise-report ( -- )