커다란 haskell 파일이있어 문제없이 컴파일되고 실행됩니다. 몇 가지 함수와 타입 정의를 일반 hs 파일의 별도 모듈에 넣은 다음 주 모듈에서 가져 오려고합니다. 주 프로그램이 오류없이 컴파일 (가져온 모듈도 컴파일)하지만 실행하려고하면 스택 공간 오버플로가 발생합니다.다른 hs 파일에서 함수를 분리 할 때 스택 공간 오버 플로우가 발생했습니다.
내가 시도 :
또한ghc --make -O2 Main.hs
./Main -- stack space overflow
:
ghc --make -O2 Main.hs Other.hs -o RunMe
./RunMe -- again, stack space overflow
가 컴파일 또는 난 아무것도 놓치고 올바른 방법인가?
INLINE pragma를 무상으로 사용하면이 문제도 해결할 수 있습니다. –
엄격함 주석을 추가하면 실제로 문제가 해결되었습니다. 이것은 단일 모듈에서 필요하지 않았습니다. – vis