gpt4 book ai didi

haskell - 为什么这个函数似乎隐藏了它的嵌入异常?

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

在评论 another question 时,我发现引用透明度明显中断。在 ghci 中:

> f g h = g `seq` h `seq` \x -> g (h x)
> seq (f undefined id) ()
()
> seq (undefined `seq` id `seq` \x -> undefined (id x)) ()
*** Exception: Prelude.undefined
CallStack (from HasCallStack):
error, called at libraries/base/GHC/Err.hs:79:14 in base:GHC.Err
undefined, called at <interactive>:3:14 in interactive:Ghci9

为什么第一个不是底部? (GHC 8.2.2 以防万一——我目前没有在这台机器上安装任何其他版本。)

最佳答案

看起来这是 Trac #14002 .如果您执行以下操作:

> :set -fpedantic-bottoms

或定义 f在一个文件中并将其加载到 GHCi 中,然后两个表达式都会导致异常。

该错误报告声称很难在不导致性能损失的情况下进行修复。

关于haskell - 为什么这个函数似乎隐藏了它的嵌入异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51332928/

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