Я программирую лексику в Haskell в свободное время.
У меня есть файл со словами, где элементы моделируются как алгебраические типы данных, которые выглядят как
Word { _frq=1
, _fra="le"
, _eng="the; him, her, it, them"
, _deu="der,die,das; er,sie,es"
, _uses=[Determiner [], Pronoun []]
, _phrase=" vive la politique, vive l'amour"
, _sentence="long live politics, long live love"
, _satz="Lang lebe die Politik, lang lebe die Liebe."
}
Чаще всего немецкий перевод _deu=
и _satz=
чаще всего представляет собой пустую строку, которую я хочу обновить в рамках программы.
Теперь у меня есть несколько вопросов: 1. Существует ли база данных, использующая типы данных Haskell для haskell (мне бы очень хотелось, чтобы в моей базе тоже была безопасность типов)? То, что я нашел, это привязки HDBC к MySQL и тому подобное, а также некоторые другие вещи xml/JSON.
- Если я обновляю файл вместо использования базы данных, есть ли способ перекомпиляции всей программы - было бы немного утомительно сделать это.
и третий вопрос
Я хочу сохранить изученные словари в структуре данных, которые нужно часто обновлять, так как на каждом этапе обучения я обновляю число, указывающее знание этого слова, и сортирую эту структуру данных при вставке/или после нее. Затем я выбираю новое слово, основанное на его позиции в этой структуре данных. Списки кажутся неэффективными для выполнения полного перебора списка, и сортировка - это большое усилие, если есть лучшее решение. Заметка, наконец, у меня есть только 5000 записей в списке, так что, может быть, это беспокоит скорость в неправильном месте?