% $Id: wordfreq.slang,v 1.0 2003/01/03 14:43:00 dada Exp $ % http://dada.perl.it/shootout/ % % contributed by John E. Davis define main() { variable count = Assoc_Type[Int_Type, 0]; foreach (stdin) using ("line") { variable line = (); foreach (strtok (strlow (line), "^a-z")) { variable word = (); count [word] += 1; } } variable words = assoc_get_keys (count); variable freqs = assoc_get_values (count); variable i = array_sort (array_map (String_Type, &sprintf, "%12d", freqs) + words); i = i[[-1:0:-1]]; foreach (i) { i = (); ()=fprintf (stdout, "%7d\t%s\n", freqs[i], words[i]); } } main();