gpt4 book ai didi

haskell - GHC 重写规则是否知道识别语法糖?

转载 作者:行者123 更新时间:2023-12-03 14:53:22 24 4
gpt4 key购买 nike

例如对于列表,如果我用 myFn [x] 的 LHS 编写规则, 程序员写myFn (x:[]) 时也能开火吗? ?还是我必须为每种可能的语法编写单独的规则?

最佳答案

重写规则会被取消糖分。所以像这样的重写规则

{-# RULES
"myFn/singleton" forall x. myFn [x] = myOtherFn x
#-}

将在内部存储为
forall x. myFn (x:[]) = myOtherFn x

然后将其应用于程序的脱糖形式。 (GHC 中的所有优化都发生在程序的脱糖形式上)。

关于haskell - GHC 重写规则是否知道识别语法糖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27320223/

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