2014-09-16 2 views
4

내가 책 "스칼라 함수 프로그래밍"에서이 문장을 참조하십시오 식의 평가가 영원히 실행 또는 일정한 값을 반환하는 대신 오류 를 throw하면문장을 이해하는 방법 또는 "맨 아래로 평가하는"방법?

를, 우리는 표현이 하지 않는 말 종결되거나, 바닥으로 평가된다. f (x)가 bottom으로 평가되는 모든 x에 대해 bottom으로 평가되는 경우 함수 f는 엄격합니다. 내가 이해할 수없는

or that it evaluates to bottom 

두 부분 : 불쌍한 내 영어

미안 해요, 난 나 자신이 아니라 문장을 이해할 수 없다 발견

  1. 인가 "그것은 아래로 평가 "표현은 끝나지 않는다"또는 반대?
  2. "하단"은 무엇을 의미합니까?

감사

답변

8

재귀를 설명하는 도메인 이론에서 사용되는 "저부로 평가"되는 방법이다 동등 표현식이 정상적으로 돌아 가지 않는다고 말하면 예외를 던지거나 루프에 걸리거나 프로그램을 중단시킵니다. 문구가 사용되는 이유는 모든 표현식이 하나의 값으로 평가되는 척하는 것이 편리하기 때문입니다. 반환하지 않는 표현식이 bottom이라는 값을 생성한다고 가정하면 표현식이 상호 작용하는 방식에 대한 설명을 단순화 할 수 있습니다.

하단 유형 (스칼라 Nothing)은 관련이 있습니다. 이는 하단 값 만 생성 할 수있는 표현식 유형입니다 (즉, 정상적으로 종료되지 않음). Scala에서 "throw new RuntimeException()"은 맨 아래 유형 (Nothing)을 가지며,이 용어에서는 맨 아래 값을 생성한다고합니다.

"bottom"이라는 단어의 사용은 원래 정식 논리에서 나오고 공식 언어 의미 체계를 통해 프로그래밍됩니다.

관련 문제