Tôi có tệp haskell khổng lồ biên dịch và chạy mà không gặp bất kỳ sự cố nào. Tôi muốn đặt một số hàm và định nghĩa kiểu trong một mô đun riêng biệt trong một tệp hs chung và sau đó nhập nó vào mô-đun chính của tôi. Trong khi chương trình chính biên dịch mà không có bất kỳ lỗi nào (nó cũng biên dịch mô-đun đã nhập), tôi nhận được một tràn không gian ngăn xếp khi tôi cố gắng chạy nó.Ngăn tràn không gian ngăn xếp khi tách các chức năng trong các tệp hs khác nhau
tôi đã cố gắng:
ghc --make -O2 Main.hs
./Main -- stack space overflow
Ngoài ra:
ghc --make -O2 Main.hs Other.hs -o RunMe
./RunMe -- again, stack space overflow
Đó có phải là cách đúng đắn để biên dịch hay tôi thiếu gì không?
Sử dụng vô cớ các pragmas INLINE cũng có thể khắc phục điều này. –
Thêm chú thích nghiêm ngặt thực sự đã khắc phục được sự cố. Điều này là không cần thiết trong một mô-đun duy nhất. – vis