gpt4 book ai didi

Haskell 评估时间限制

转载 作者:行者123 更新时间:2023-12-02 11:59:33 24 4
gpt4 key购买 nike

有谁知道有一个函数只允许一定的时间来执行函数。具有这样的类型签名的东西。

limited::Int->(a->b)->a->IO (Maybe b)

我想不出如何实现,也找不到。我问的原因是我要列出所有可能的Brainfuck程序,我想过滤掉那些花费太长时间的程序。

最佳答案

a dedicated function来自 System.Timeout:

timeout :: Int -> IO a -> IO (Maybe a)

要按照您编写的方式使用,只需使用

limited t f x = timeout t $ do
let y = f x
y `seq` return y

请记住,Haskell 的惰性意味着任何值都是其他语言可能称之为“零参数的内存函数”的值,因此您实际上并不需要 (a->b) -> a -> .

关于Haskell 评估时间限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20752083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com