GHCi, version 7.4.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.
Prelude> let fac 0 = 1
Prelude> let fac n = product [1..n]
Prelude> fac 100000
Segmentation fault: 11
なぜこれが起こるのか誰かが知っていますか?
fac 10000
作品
OSX10.8.2で実行
うーん、ファイルからロードします:
fac :: Integer -> Integer
fac 0 = 1
fac n = product [1..n]
実行されます。
また興味深いのは、
fac :: Int -> Int
0
に戻りますfac 100000
。私は(JohnLと同じように)エラーを予期していました。
このサイトは言及します:
- より具体的には、SegmentationFaultは、タイプが安全でない言語がDoesNotUnderstandを綴る方法です。Haskellのようなタイプセーフな静的型付け言語では、segfaultsは表示されません。
それはIOモナドと関係がありますか?