繁体   English   中英

Snap,如何在SnapletISplice中提升IO monade

[英]Snap, How to lift IO monade inside a SnapletISplice

我有一个IO Bool函数,它给我一些状态信息。 我想写“OK”或“KO”,具体取决于此函数返回的值到.tpl文件的拼接中。

所以我很高兴能够在SnapletISplice中提升IO monads,这样我就可以将statusSplice :: SnapletISplice App与(“splicename”,statusSplice)绑定,并计算IO monad里面的值。

我很确定SnapletISplice“是”IO monad,并且应该存在这样的提升功能。 但我无法弄清楚它是什么。

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"

SnapletISplice一个别名HeistT

HeistT实现了MonadIO

所以如果导入的话, liftIO应该可以工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM