gpt4 book ai didi

haskell - Just and dot in winghci

转载 作者:行者123 更新时间:2023-12-01 07:19:14 28 4
gpt4 key购买 nike

为什么这个工作...

Just.(+3) $ 6.7
Just $ truncate 8.9

...但不是这个?
Just.truncate $ 8.9

我尝试将截断解析为一个简单的 Double -> Int:
let f :: Double -> Int; f = (\ x -> truncate x);

……但这似乎不是问题……
Just.f $ 5.6

<interactive>:41:1:
Failed to load interface for `Just'
Use -v to see a list of the files searched for.

非常感谢!

最佳答案

当你的意思是组合函数时,最好写成 f . gf.g .它更具可读性,并且您避免了像这样的一堆问题。

当你有 Foo.bar 形式的东西时或 Foo.Bar在 Haskell 中,它被解析为一个限定名。这就是为什么Just.f不起作用:Just不是模块,所以 Just 的“接口(interface)”无法加载。

为什么Just.(+3)确实按预期工作:(+3)是一个正确的部分,而不是一个标识符,所以点不能是限定名称的一部分。解释它的唯一方法是假设 .是运算符 (.) 的中缀应用程序,所以一定是Just . (+3) .

关于haskell - Just and dot in winghci,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21802875/

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