私はゲームを開発していて、永続性の部分にHappstackを選択しました。私はそれを非常に使いやすいと思います、私はそれを理解するために私自身のために簡単な例を作りました:
getAllObjects :: MonadIO m => m [Thing]
getAllObjects = do
elems <- query GetObjects
return elems
addAnObject :: (MonadIO m) => Thing -> m ()
addAnObject thing = do update $ AddObject thing
test command = do
control <- startSystemState macidProxy
result <- command
shutdownSystem control
return result
checkpoint = do
control <- startSystemState macidProxy
createCheckpoint control
shutdownSystem control
そして、私がそれを「テスト」するたびに、それはevent.fileを作成します。次に、「チェックポイント」を実行して新しいチェックポイントファイルを作成します。問題は、古いイベントファイルが増え続けることです。すべてのファイルを手動で削除します(最後のチェックポイントと現在のチェックポイントを除く)。'古いものを削除する'を行うためにhappstackから欠落しているコードがありますか?