任何人都可以向我解释这个吗?我正在使用最新版本的GHC。
Prelude> let f x = 1/((x**2)-36)
Prelude> f (0 - 6.5)
0.16
Prelude> f (0 - 5.999)
-Segmentation fault
Prelude> f (0 - 5)
-Segmentation fault
谢谢!
编辑:GHCi版本6.10.4,Mac OS 10.6,Intel Macbook Pro
Edit2:GHCi 7.0.3没有这个问题。
答案 0 :(得分:1)
有趣的是,我没有在这里得到段错误(在MacOS上):
GHCi, version 7.0.2: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> let f x = 1/((x**2)-36)
Prelude> f (0 - 6.5)
0.16
Prelude> f (0 - 5)
-9.090909090909091e-2
Prelude>
答案 1 :(得分:1)
适用于带有GHC 7.02的Windows XP:
GHCi, version 7.0.2: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> let f x = 1/((x**2)-36)
Prelude> f (0 - 6.5)
0.16
Prelude> f (0 - 5.999)
-83.34027835650902
Prelude> f (0 - 5)
-9.090909090909091e-2
Prelude>
答案 2 :(得分:1)
GHCi版本6.10.4,Mac OS 10.6,Intel Macbook Pro
在这种情况下要做的第一件事就是检查软件的最新稳定版本。
通过Haskell Platform升级到GHC 7.0.3,然后再次检查。
如果您还有错误,请通过the bug tracker进行举报,因为任何崩溃都需要高优先级错误修复。