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
có ai biết tại sao điều này sẽ xảy ra không?lỗi phân đoạn haskell với giai thừa
fac 10000
làm việc
chạy trên OS X 10.8.2
hmm, việc nạp từ file:
fac :: Integer -> Integer
fac 0 = 1
fac n = product [1..n]
chạy.
cũng thú vị là sử dụng
fac :: Int -> Int
lợi nhuận 0
cho fac 100000
. Tôi đã mong đợi (giống như JohnL) một lỗi.
this site đề cập:
- Cụ thể hơn, SegmentationFault là một cách một ngôn ngữ kiểu không an toàn thích rõ ràng DoesNotUnderstand. Trong một ngôn ngữ gõ tĩnh kiểu như Haskell, bạn không nên thấy các segfaults.
có liên quan gì đến trình đơn IO không?
Nếu bạn định giảm giá, vui lòng giải thích tại sao. – beoliver
Tôi không chắc có đủ thông tin ở đây để chẩn đoán sự cố. Điều này là vững chắc trong thể loại "không bao giờ nên xảy ra" vì vậy một cái gì đó rất lạ đang xảy ra với hệ thống của bạn. –
'fac 100000 :: Số nguyên cho số 456574 chữ số trên os x tại đây. 'fax 100000 :: Int' là' 0 :: Int', vì, để đặt nó một chút thô lỗ, đó là bội số của 2^32 (hoặc 2^64). – applicative