首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Haste和Haskell中用管子睡觉

在Haste和Haskell中用管子睡觉
EN

Stack Overflow用户
提问于 2014-08-29 23:31:13
回答 1查看 180关注 0票数 1

我正在开发一个Haskell程序,它大量使用了Pipes库。我正在将库的一部分移植到Haste。我遇到的一个障碍是javascript处理休眠的奇怪方式。

我想要写的是一个简单的管道,它在发送结果之前会延迟

代码语言:javascript
复制
sleeper :: Int -> Pipe a a IO ()
sleeper time = forever $ do
                   temp <- await
                   sleep time
                   yield temp

然而,看起来休眠就像一个回调。

代码语言:javascript
复制
setTimeout :: MonadIO m => Int -> IO () -> m ()

我试着去做

代码语言:javascript
复制
sleeper time = do
                   temp <- await
                   yield temp
                   setTimeout time $ sleeper time

但是类型不能正确排列。有没有办法得到延迟管道?

EN

回答 1

Stack Overflow用户

发布于 2014-08-30 02:00:25

您可能想看看https://github.com/imalsogreg/pipes-rt/blob/master/lib/Pipes/RealTime.hs#L127,那里有一个函数pauseUntil

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25571513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档