gpt4 book ai didi

haskell - 手动将 SCC 附加到整个函数?

转载 作者:行者123 更新时间:2023-12-02 01:17:32 24 4
gpt4 key购买 nike

是否可以手动将 SCC 附加到整个函数?例如,如何将 SCC 附加到下面的 f

f x = g x
where g x = ...

如果我写

f x = {-# SCC f #-} g x y
where g = ...
y = ...

那么 gy 将不会包含在 SCC 中。相反,似乎我必须写

f x = {-# SCC f #-}
let g = ...
y = ...
in g x y

但这可能很烦人,因为它需要将 where 重写为 let 并将守卫重写为 case 语句。如果不进行所有这些重写,我如何才能获得相同的效果? -fprof-auto 似乎可以做到这一点。但我只想手动将SCC添加到少数功能。

最佳答案

这似乎在 GHC (8.2) 的下一个主要版本中成为可能,请参阅此票证 #12116 (它显示了与您所遇到的相同的解决方法和问题)。

根据users guide对于 GHC 的主分支,您将能够将注释放在与 f 声明相同的级别。喜欢

f x = g x y
where g = ...
y = ...
{-# SCC f #-}

f x = g x y
where g = ...
y = ...
{-# SCC f "some_cc_name" #-}

关于haskell - 手动将 SCC 附加到整个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41925244/

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