状態情報を提供する IO Bool 関数があります。この関数によって返される値に応じて、「OK」または「KO」を .tpl ファイルのスプライスに書き込みたいと考えています。
したがって、SnapletISplice 内で IO モナドを持ち上げて、statusSplice :: SnapletISplice App を ("splicename", statusSplice) にバインドし、内部の IO モナドから値を計算できるようになれば幸いです。
SnapletISplice は IO モナド「である」と確信しており、そのようなリフティング関数が存在するはずです。しかし、私はそれが何であるかを理解できません。
Nb : スナップ 0.11 を使用しています。そのため、一部の関数 (liftHandle など) が削除されました。
要するに、コードで、私がやりたいこと:
app = ...
addSplices splices
...
splices = [("spliceName", statusSplice)]
statusSplice :: SnapletISplice App
statusSplice = do
st <- lift $ computeStatus
if st then textSplice "ok" else textSplice "ko"