void frequency (vb -w fq, vb text)                                             /* strlen (text) =~ n * log2 (n), { n = length (fq) } */
{
  void calc () [-w fq, text]
  {
    words_in (text, (p_string word) [-w fq] {
                                              if (!fq->contains (&access_code, text, word), { ulong -w access_code = 0 }) 
                                                add (fq, text, word, 1);
                                              else 
                                                set (fq, access_code, counter + 1), { counter = get (fq, access_code) };
                                            });
  }

  if (fq->is (T_LIST, T_STRING, T_INT)) calc ();
  else error (ERR_PARAMETER);
}