Я программирую лексический тренер в Haskell в свое свободное время.Есть ли база данных 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.
- Если я обновляю файл вместо использования базы данных, есть способ перекомпиляции всей программы - было бы немного утомительно это сделать.
и третий вопрос
Я хочу сохранить изученные словари в структуре данных, которая нуждается часто обновляться, так как на каждом этапе обучения я обновить номер, указывающим знание этого слова - и разобраться в этом datastructure при вставке/или после. Затем я выбираю новое слово, основанное на его позиции в этой структуре данных. Списки кажутся неэффективными для выполнения полного перебора списка, и сортировка - это большое усилие, если есть лучшее решение. Заметка, наконец, у меня есть только 5000 записей в списке, так что, может быть, это беспокоит скорость в неправильном месте?
Сервер http://acid-state.seize.it/ не реагировал на 2016-07-17. Я изменил ссылку на репозиторий GitHub. Если это временная ошибка, не стесняйтесь возвращать исходную ссылку. –