Здравствуйте, Аноним, Вы писали:
А>И интересует как этот код можно улучшить и в чем оверхед
Я так понял задача заключается в том, чтобы построить пары (слово X, список слов которые следуют в тексте за X).
Задача решается в одну-две строчки. Как уже сказал lomeo легче использовать Data.Map
1. С помощью zip строим список пар (слово, слово следующее за ним)
2. Обрабатываем эти пары с помощью Data.Map.insertWith
Если хочется оставаться с HashTable, нужно просто сделать аналог insertWith для HashTable.