есть ли в Хаскеле словарь для этой цели?
Я хотел бы представить, что вы ищете простой текстовый файл, что-то вроде этого:
word1: word1synonym1, word1synonym2, ...
word2: word2synonym1, ...
...
В таком случае это не будет специфично для Хаскеля. Я не знаю ни о каких бесплатных тезаурусах текстовых файлов, как это, хотя я представляю, что если вы покопаетесь вокруг LibreOffice , вы, вероятно, найдете его.
как избежать изменения контекста оператора путем замены слова его синонимами
Это очень сложно для компьютера, афаик. Я бы посоветовал не прилагать больших усилий для работы над этим аспектом.
любой ввод относительно алгоритма
Для этой проблемы может оказаться полезным понятие расстояние редактирования . См. Приблизительное совпадение строк и Алгоритм Вагнера-Фишера .