私は余暇に 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 データ型を使用するデータベースはありますか (私のデータベースでも型安全性が本当に欲しいのですが)? 私が見つけたのは、MySQL などへの HDBC バインディングと、その他の xml/JSON のものでした。
- データベースを使用する代わりにファイルを更新する場合、プログラム全体を再コンパイルする方法はありますか?それを行うのは少し面倒です。
そして3つ目の質問
学習した語彙を頻繁に更新する必要があるデータ構造に保存したいと思います。各学習ステップで、この単語の知識を示す数値を更新し、挿入中/または後でこのデータ構造をソートします。次に、このデータ構造内の位置に基づいて新しい単語を選びます。リストは、完全なリストのトラバーサルを行うには非効率的であり、より良い解決策がある場合、並べ替えは大きな労力になります。最後に、私は 5000 のリスト エントリしか持っていません。