当我尝试显示负的双精度或浮点数时,为什么会出现分段错误?对于负整数是没有问题的。
Prelude> let a = 4
Prelude> :t a
a :: Integer
Prelude> let b = -4
Prelude> b
-4
Prelude> :t b
b :: Integer
Prelude> let c = 5.6
Prelude> :t c
c :: Double
Prelude> let d = -5.6
Prelude> :t d
d :: Double
Prelude> show d
"-Segmentation fault我尝试了各种方法,似乎正确理解了数字,但没有显示出来。版本信息:
ghci --version
The Glorious Glasgow Haskell Compilation System, version 6.10.4发布于 2010-11-05 05:51:36
MacPorts上的GHC似乎坏了。请参阅https://trac.macports.org/ticket/25265
请考虑从haskell.org安装Haskell平台,其中包括GHC6.12.3和一系列Haskelly好东西。
发布于 2010-11-05 09:02:16
你应该意识到的最重要的事情是,分段错误永远不应该在Haskell中发生。它的类型系统确保在运行时不会出现类似的“错误”。如果您确实看到了分段错误,则可能是Haskell编译器中存在错误,或者是您使用Haskell FFI连接到C代码,C代码出了问题。然而,在纯Haskell代码中,您永远看不到这一点。
发布于 2011-05-03 05:24:57
2011年3月:在Haskell Platform的GHC7版本中修复了这个问题,其中32位和64位Mac原生端口都处于良好状态。
https://stackoverflow.com/questions/4101599
复制相似问题