gpt4 book ai didi

haskell - Haskell 实际上是如何定义 + 函数的?

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

阅读时Real world Haskell我想出了这个注释:

ghci> :info (+)
class (Eq a, Show a) => Num a where
(+) :: a -> a -> a
...
-- Defined in GHC.Num
infixl 6 +

但是 Haskell 如何将 + 定义为非 native 函数呢?在某种程度上,您必须说 2 + 3 将成为汇编程序,即机器代码。

最佳答案

+ 函数已重载,对于某些类型,例如 IntDouble+ 的定义为类似的东西

instance Num Int where
x + y = primAddInt x y

其中 primAddInt 是编译器知道的函数,并将为其生成机器代码。

其外观和工作方式的详细信息取决于您正在查看的 Haskell 实现。

关于haskell - Haskell 实际上是如何定义 + 函数的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8183608/

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