計算を停止/ピクル/アンピクル/再開するHaskellの方法はありますか?
これに関するいくつかの関連する議論がここで行われたように見えましたが、適切な解決策は提示されませんでした. また、その議論は古いです。
計算の停止状態と再開状態をトリガーするための何らかのタイプのイベント システムがあれば、それも良いでしょう。
計算を停止/ピクル/アンピクル/再開するHaskellの方法はありますか?
これに関するいくつかの関連する議論がここで行われたように見えましたが、適切な解決策は提示されませんでした. また、その議論は古いです。
計算の停止状態と再開状態をトリガーするための何らかのタイプのイベント システムがあれば、それも良いでしょう。
ワークフロー パッケージは、これに対する一種のソリューションを提供します: https://hackage.haskell.org/package/Workflow
ドキュメントには次のように説明されています。
Stat
フードの下では、次のように、タイプwhereStat
が進行状況とコンテキストを追跡する方法としてアクションを追跡する一種のライター/状態モナドを使用します。
data Stat = Running (M.Map String (String, (Maybe ThreadId)))
| Stat{ self :: DBRef Stat
, wfName :: String
, state :: Int
, recover :: Bool
, timeout :: Maybe Integer
, lastActive:: Integer
, context :: (Context, B.ByteString)
, references:: [(Int,(IDynamic,Bool))]
, versions :: [IDynamic]
}
deriving (Typeable)