2014-11-13 1 views
7

저는 초보자 인 haskell이고 최근에 the haskell wiki에 대한 엄격 성 분석에 대해 읽었습니다. GHC user's guide엄격함이 실제로 GHC에 의해 추론되는지 어떻게 알 수 있습니까?

엄격함 분석기는 함수의 인자와 변수 (즉, 그들은 항상 어떤 점에서 기능에 평가입니다) '엄격하게'처리 할 수있는 경우 파악.

또한 엄격함을 추론 할 수있는 경우에 대해서도 읽었습니다. 그러나 초보자 인 경우 ghc가 실제로 코드의 일부를 처리하는 경우 항상 확신하지는 않습니다. 이는 이 엄격한 것으로 엄격하게 지정되었습니다.

현재 큰 데이터로 프로그램을 공급하는 것보다 엄격한 분석이 진행 중인지 알아내는 다른 방법은 없습니다.

주어진 코드를 엄격하게 유추 할 수 있는지 ghc에게 묻는 방법이 있습니까?

+0

관심있는 표현식의 예가 있으면 게시하고이를 엄격히하는 방법을 보여줄 수 있습니다. – ErikR

+0

@ user5402 친절에 감사드립니다. 여기에있는 문제는 특정 코드에 관한 것이 아니라 내가 올 때 질문을 게시 할 것입니다. 누군가가 내 등을 가졌고 도움을 청할 수 있다는 것을 알면 정말 좋습니다 :) – Yosh

답변

8

GHC가 엄격함을 유추했는지 확인하는 유일한 방법은 Core라는 컴파일 된 프로그램의 중간 표현을 읽는 것입니다.

그러나, 또 다른 접근 방식은 단순히으로 표현, 예를 들어, 엄격하게 평가되어야한다 GHC를 이야기하는 것입니다 학습에

일부 자원은 코어 출력을 읽기 언어 확장 BangPatterns 또는 seq 기능을 사용합니다.

관련 문제