【发布时间】:2010-11-04 21:30:39
【问题描述】:
当我尝试显示负双精度或浮点数时,为什么会出现分段错误?负整数没有问题。
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
【问题讨论】:
-
在 6.10.4 上也无法重现。此外,当我运行代码时,
:t显示一般类型,而不是默认类型(即,我得到Num t => t和Fractional t => t作为类型)。 -
你会碰巧使用 MacPorts 吗? trac.macports.org/ticket/25265
-
感谢 KennyTM 和安德烈。我猜你是对的。我在一台带有 ghc 6.8.2 的旧机器上尝试过,它运行良好。但我在 macport 上使用最新版本的 ghc,所以它似乎只是一个错误版本。让我看看我是否可以更新它。
-
@Wesley,是的! macports 必须更新它!