use*_*437 2 haskell symbols function typeclass
我是Haskell的新手,我正在尝试学习类型类的工作原理.我在GHCi编译器中输入以下代码.
let (+) :: Num a => a -> a -> a;
(+) a b = a+b;
Run Code Online (Sandbox Code Playgroud)
代码编译,但每当我调用该函数时,它就会卡住,我必须按ctrl + c来停止进程.
我在这里做错了吗?先感谢您!
你已经定义a + b为等于a + b(中+缀运算符也可以写成(+),在这种情况下它表现为普通的前缀函数;但你的左侧仍然是你的右侧).
因此,解释器正在永远旋转,以便评估a + b它然后需要评估a + b,然后需要评估a + b,等等.
你是递归地+从你的函数中调用你的函数+,就像你写的那样:
add :: Num a => a -> a -> a
add a b = add a b
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |