簡體   English   中英

在赫斯特和哈斯克爾與管子睡覺

[英]Sleeping with pipes in Haste and Haskell

我正在研究大量使用Pipes庫的Haskell程序。 我要將圖書館的一部分移植到Haste 我碰到絆腳石的地方是javascript處理睡眠的奇怪方式。

我想寫的是一個簡單的管道,它在發送結果之前會延遲

sleeper :: Int -> Pipe a a IO ()
sleeper time = forever $ do
                   temp <- await
                   sleep time
                   yield temp

但是,休眠似乎像回調一樣。

setTimeout :: MonadIO m => Int -> IO () -> m ()

我試着做

sleeper time = do
                   temp <- await
                   yield temp
                   setTimeout time $ sleeper time

但是類型不正確。 有沒有辦法獲得延遲管道?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM